Compare commits

...

1133 Commits

Author SHA1 Message Date
William Cheng
745868e925 Add petstore samples 2019-03-20 22:29:29 +08:00
William Cheng
b74d25d414 add back scripts for security tests 2019-03-20 19:04:28 +08:00
Vincent Devos
37c275b3fb [KOTLIN Client] Update to latest kotlin version (#2375)
* [KOTLIN Client] Update to latest kotlin version

gradle - okhttp3 - kotlintest version update
add some test case in sample

* [KOTLIN Client] Update to latest kotlin version

gradle - okhttp3 - kotlintest version update
add some test case in sample
2019-03-20 18:26:00 +08:00
Tom Ghyselinck
8bb01ed149 Unit tests should not be skipped when MediaType defines its underlying structure as json (*/*+json, according to [RFC6838, section 4.2.8](https://tools.ietf.org/html/rfc6838#section-4.2.8)). (#2390) 2019-03-20 18:18:45 +08:00
Vincent Devos
218c2e75ab [MAVEN PLUGIN] fix javadoc + sonarlint (#2399) 2019-03-20 16:16:59 +08:00
Justin Black
b67318ef21 Adds spec additionalProperties + nullable examples (#2405)
* Adds v2 spec additionalproperties examples, adds v3 spec nulllable model example, updates samples

* Remaining samples updates

* Adds csharp generator update to handle models with multilevel parent types, which works for the AdditionalPropertiesObject model, samples updated
2019-03-20 15:31:28 +08:00
William Cheng
c10463600a detect tab for all files under module (#2456) 2019-03-20 15:14:18 +08:00
William Cheng
59cdea7b5e Add a link to "An adventure in OpenAPI V3 code generation" (#2457) 2019-03-20 15:14:01 +08:00
Ramzi Maalej
3100afce26 second part of fixing Sonar issues (#2295)
* fix sonar issues

* fix csharp model issue

* refactor code
2019-03-20 15:12:00 +08:00
William Cheng
546a230c73 comment out gradle plugin publish 2019-03-20 11:44:04 +08:00
Keiju Matsumoto
8df619ef8a [Kotlin] Add optional parameters to the method of api (#2432)
* Add optional parameters to api

* Update petstore samples

* Remove default arguments
2019-03-20 11:04:47 +08:00
Ale Figueroa
bf7838cd81 [Elixir] Update Tesla dependency to version 1.0 (#2326)
* Update Tesla dependency and replace Poison with Jason

* Use new Tesla method to set headers

* Fix jason dependency definition

* Use list for Headers instead of a map

* Rollback to Poison because Jason does not support 'as:' option to decode to arbitrary struct

* Use new return signature from Tesla 1.0 in decode function

* catch error when a struct is given as second parameter to RequestBuilder.decode

* Update modules/openapi-generator/src/main/resources/elixir/request_builder.ex.mustache

Co-Authored-By: yknx4 <yknx.4.b@gmail.com>

* Update modules/openapi-generator/src/main/resources/elixir/request_builder.ex.mustache

Co-Authored-By: yknx4 <yknx.4.b@gmail.com>
2019-03-20 10:28:19 +08:00
Jacob Weber
3320d3cbe1 Handle collection params in path (assume csv for now). (#2259) 2019-03-19 22:59:16 +08:00
Hemant Zope
7ad479e13d [C] Update README and adding object.c/h files (#2377)
* modify handing reserved keyword and set isEnum in local codegen to avoid conflict with other codegen

* update README mustache

* added object header and body mustache
2019-03-19 22:41:34 +08:00
William Cheng
43fcd19509 add semi colon to gradle tasks 2019-03-19 22:35:48 +08:00
Jim Schubert
93baa5d835 Initial attempt at deploying to gradle plugin portal (#2440) 2019-03-19 21:43:28 +08:00
Dale King
d93fd31bb1 [dart] Fix authentication for dart (#2419)
* [dart] Fix authentication so all forms of Swagger 2.0 authentication work

* Run changes on petstore examples

* Amend dart2 generated README to cover basic authentication

* Amend dart2 generated README to cover authentication methods

* [dart] Fix authentication so all forms of Swagger 2.0 authentication work

* Run changes on petstore examples
2019-03-19 10:08:43 +08:00
dragosnutu
1f45ea7d1a [#2425] - implemented yaml parsing for config file. (#2434) 2019-03-18 21:49:45 +08:00
William Cheng
0b15fac3e1 fix java doc issue (#2435) 2019-03-18 20:58:14 +08:00
William Cheng
ed30e85d1e Remove security tests from the master branch (#2433)
* remove security tests as these will be test in branch instead

* remove openapi3 security script
2019-03-18 17:21:47 +08:00
Jens Oberender
82700e5958 Fix for the added interceptor and when the http client is set several times, which leads to a stack overflow because of too many interceptors. (#2420)
Also added tests for that.
2019-03-18 11:04:43 +08:00
Adrian Price
9bb94fe95d Fix #2340 (#2387)
Test case was using an invalid mixture of File.getAbsoluteFile|Path()
and File.getCanonicalFile|Path() to identify generated output files.
2019-03-18 11:02:59 +08:00
William Cheng
d18bf044e8 [Java][C#][JS] remove localVariablePrefix (#2423)
* remove localVariablePrefix from template

* remove local variable prefix option from java gen

* remove local var from c#, js

* update doc
2019-03-18 10:46:33 +08:00
kemokemo
a57504481b chore: add removing old files function to the Windows batch files. (#2422) 2019-03-17 21:27:51 +08:00
Karl von Randow
28ddad44e5 TypeScript: add typeRoots to tsconfig (#2395)
* TypeScript: add typeRoots to tsconfig

This avoids typescript looking in parent directories to find type definitions. We don’t _need_ this behaviour from typescript, as this module is self-contained. If we don’t block this behaviour from typescript, and you put the generated source inside a project that already has a node_modules/@types directory, you can run into conflicts when some types require newer versions of TypeScript than is used by this module.

* Update petstore examples for all TypeScript variants
2019-03-17 21:22:33 +08:00
William Cheng
22d21afceb Fix boolean example value in ruby client generator (#2431)
* fix boolean example value in ruby

* update samples
2019-03-17 18:06:02 +08:00
Vincent Devos
a6a1264f25 [GRADLE] upgrade to 2.16 in java/scala/androit client to fix Vulnerability (#2416) 2019-03-17 17:40:11 +08:00
Akira Tanimura
40253a5b82 [Ruby] Fix type mapping for Ruby (#2385) (#2386)
* maps 'boolean' to 'Boolean' in Ruby (#2385)

* update Ruby client samples (#2385)
2019-03-17 11:07:00 +08:00
William Cheng
94466d54b3 Remove global options from PHP generators (#2403)
* remove global options from php generators

* update doc
2019-03-17 09:57:45 +09:00
sunn
2ea4025d2b Fix generation of optional file when model name prefix is selected (#2341) 2019-03-16 17:38:19 +01:00
sunn
f41f50c3e5 [C++] [Qt5 Server] server allow api handler override of generated code (#2308)
* Allow overriding the default API handler to use a derived class from generated code
* Allow overriding the default api handler
2019-03-16 17:36:50 +01:00
Jason Henriksen
e5a0d18374 PR for ability to easily debug newly created codegen classes. (#2388)
* 2nd attempt to make the automatic checkin testing work

* trying to submit the samples in hopes that the CI matches them and passes

* found some samples I hadn't updated.  Maybe this is it?
2019-03-16 12:53:45 +09:00
Bilal Amarni
07e8b5ae03 [go] support decoding plain string responses (#2414)
For the following spec:

``` yaml
      responses:
        "200":
          description: Pong.
          content:
            text/plain:
              schema:
                type: string
```

The generated client currently fails with `undefined response type`.

In this scenario, `v interface{}` is a string pointer which can be
populated regardless of the content-type.
2019-03-15 22:17:37 +08:00
kemokemo
243ec9aa8e [Go] Add a process to delete old files for the sample update scripts (#2410)
* chore: add removing old files function to the scripts.

chore: add removing old files function to the scripts.

* docs: update by ./bin/go-gin-petstore-server.sh

* docs: update by ./bin/go-petstore-server.sh

* docs: update by ./bin/go-petstore-withxml.sh

* docs: update by ./bin/openapi3/go-petstore-server.sh

* docs: update by ./bin/security/go-petstore.sh
2019-03-15 22:14:20 +08:00
Jon Schoning
c9737cf97d [haskell-http-client] add cli option customTestInstanceModule (#2406)
setting `customTestInstanceModule` will import typeclasses from the
specified module into tests/Instances.hs, to provide typeclass
instances for types not known by the generator

this property set using `--additional-properties`

example:
```
--additional-properties=customTestInstanceModule=CustomInstances
```
2019-03-15 07:34:46 -05:00
William Cheng
5ba35ecd31 [R] url-encode path parameters (#2397)
* url encode path parameter

* convert number to string before encoding
2019-03-14 20:54:10 +08:00
Jimmi Dyson
065bbc7bdb [Go] Fix up json check regexp and support vendor-specific mime types (#2322)
* [Go] Fix up mimetype regexps

* [Go] Support vendor-specific JSON mime types

* [Go] Tidy up unmarshalling content type checks

* [Go] Generate sample clients
2019-03-14 16:40:00 +08:00
Vincent Devos
f2ff473155 [Kotlin Server Ktor] upgrade to stable version (1.1.3) (#2333)
* [Kotlin Server Ktor] upgrade to stable version (1.1.3)

* [Kotlin Server Ktor] upgrade to stable version (1.1.3)

fix indentation

* [Kotlin Server Ktor] upgrade to stable version (1.1.3)

fix indentation

* add missing kotlin ktor in Server stubs list

* [Kotlin Server Ktor] upgrade to stable version (1.1.3)

fix compilation warnings
2019-03-14 16:38:39 +08:00
William Cheng
3e085e9492 update java okhttp dependencies (#2368) 2019-03-14 16:35:08 +08:00
Tom Ghyselinck
83bc863b2b Python apikey cookie (#2367)
* The `ApiClient` will now have support to store and use HTTP Cookies (as APIKey auth).

* Use Cookie authentication for user management.

* - Updated Python related samples.
2019-03-14 16:33:35 +08:00
Jon Schoning
33786e11f3 [haskell-http-client] add support for import-mappings (#2381)
import mappings take the form of:
```
--import-mappings %DATATYPE%=%MODULE%
```

full example (with --type-mappings):
```
--type-mappings intstr.IntOrString=IntOrString
--import-mappings IntOrString=Kubernetes.CustomTypes
```

The import-mapped module will be an exposed module of the generated library.

The import mappings will be re-exported from ImportMappings, which itself is re-xported from Models.

Model.hs
```
module Kubernetes.Model (module Kubernetes.Model, module Kubernetes.ImportMappings) where
import Kubernetes.ImportMappings
```
ImportMappings.hs:
```
module Kubernetes.ImportMappings (module ImportMappings) where
import Kubernetes.CustomTypes as ImportMappings (IntOrString(..))
```
2019-03-13 18:30:03 -05:00
Esteban Marin
ce60dbbc58 fix typescript fetch compile issue (#2383)
* fix tyepscript fetch compile issue

* generate samples

* improve fix
2019-03-13 23:12:13 +08:00
Jon Schoning
302b2fafff [haskell-http-client] fix bug in test for Maybe A.Value from aa7ea8bdca (#2382) 2019-03-13 07:38:14 -05:00
William Cheng
a2d6073110 skip error when directory already exists (#2379) 2019-03-13 15:26:48 +08:00
sunn
7ba973ca7c Fix package name in the localVar types (#2378) 2019-03-13 10:13:55 +08:00
ota42y
fcfe687f19 Outputs dataType to YARD tag (#2329)
* output dataType to YARD tag

YARD supports parameter type tag.
https://www.rubydoc.info/gems/yard/file/docs/Tags.md#param

We can use `dataType` as parameter type.
So it's very useful to output `dataType`.

* update samples
2019-03-13 00:17:49 +08:00
Lukas S
317168fe9d [typescript-fetch] Support deepObject serialization in query parameters (#2234)
* [typescript-fetch] Support deep objects in query parameters

Support objects in query parameters as specified by the deepObject serialization style of OpenAPI 3:
`Object id = {"role": "admin", "firstName": "Alex"}` => `/users?id[role]=admin&id[firstName]=Alex`

Not supported due to ambiguity are arrays of objects (e.g. `person[name]=Alice&person[name]=Bob` could be an array of person objects with one name each, or one person object with an array property `name`).

* [typescript-fetch] Update sample files

* [typescript-fetch] URL-encode query parameter array elements
2019-03-12 22:20:22 +08:00
Vincent Devos
c8ecc5bf45 [Kotlin] Add ability to use modelNamePrefix/modelNameSuffix (#2349) 2019-03-12 17:47:21 +08:00
William Cheng
d2244a3baf Add more tets to java client (#2365) 2019-03-12 17:42:48 +08:00
Jens Oberender
fde3252924 Port of @ngaya-ll 's pull request from swagger to openapi. (#2356)
See https://github.com/swagger-api/swagger-codegen/pull/8053
2019-03-12 11:57:57 +08:00
Vincent Devos
b1dc2eeaac [Maven doc] fix/add General Configuration parameters (#2359) 2019-03-12 10:15:52 +08:00
Elliot Lee
80f6433779 [README] Update instructions for reinstalling master with brew (#2363)
Fixes:

    Error: invalid option: --HEAD
2019-03-12 10:00:03 +08:00
William Cheng
85b936b498 update java petstore samples 2019-03-12 09:51:54 +08:00
Elliot Lee
1491c7037c [Java] Update Javadocs for HttpBearerAuth (#2364) 2019-03-12 09:27:47 +08:00
tecywiz121
a0d907cf27 Support nullable fields in the Rust generator (#2353)
* Use Option for nullable fields in Rust (closes #2337)

* Update Rust's petstore
2019-03-12 09:20:54 +08:00
William Cheng
d2ce584a3a Rename generator: csharp-refactor => csharp-netcore (#2348)
* renmae csharp-refactor to csharp-netcore

* update appveyor config

* update config

* update doc
2019-03-12 09:04:25 +08:00
Jon Schoning
aa7ea8bdca [haskell-http-client] tests - in Arbitrary instances, reduce the size for non-primitive fields to prevent infinite recursion. Add special handling for Maybe A.Value (#2343) (closes #2312)
* [haskell-http-client] tests - in Arbitrary instances, reduce the size for non-primitive fields to prevent infinite recursion

* [haskell-http-client] tests - generate Nothing instead of (Just Null :: Maybe A.Value) to avoid roundtrip test errors
2019-03-11 12:30:24 -05:00
William Cheng
b128d14707 [scala-httpclient] mark the generator as deprecated (#2357)
* deprecate scala-httpclient

* update doc
2019-03-11 22:45:16 +08:00
William Cheng
3ba6d8226e [R] Add petstore integration tests to CI (#2354)
* add r petstore test

* run test in node 1

* fix r bash test

* fix typo

* fix permission error

* fix r installation error

* use diff r repo

* install latest r

* install curl

* use sudo for apt-get

* add no manual

* add sudo install

* better caching

* export env

* update lib location

* create lib dir

* update r lib dir
2019-03-11 20:56:11 +08:00
William Cheng
b0aac250c6 remove default value from api (#2351) 2019-03-11 14:08:59 +08:00
Jim Schubert
f39e200e5d C# refactor improvements: .NET Standard and .NET Core (#2187)
* [csharp-refactor] limit available target framework

This removes .NET 3.x, .NET 4.0, UWP, and the "5.0" option (which
referred to PCL 5.0). This gives us a smaller footprint for maintenance,
and doesn't necessarily block consumers from creating custom templates
to support those target frameworks. A workaround for users wanting these
options is to build against openapi-generator 3.3.4.

This moves logic for applying additional properties to strategies per
target framework, as a means to reduce maintenance overhead at the cost
of maybe a little redundancy between strategies.

* [csharp-refactor] Fixing .netstandard support

* [csharp-refactor] Fixing netcoreapp2.0 support

* [csharp-refactor] Regenerate samples

* Fix toLowerCase missing Local.ROOT

* [csharp-refactor] Remove unnecessary bash/batch scripts, update appveyor.

* Update appveyor.yml to test for dotnet/xunit

* Update appveyor.yml

Wrap xunit console environment variables in quotes, to prevent yaml syntax error.

* Update appveyor.yml

Try to use dos-style switches, attempting to remove yaml parse error in appveyor. Previous command matched appveyor docs, but resulted in the parser error.

* Update appveyor.yml

Wrap full commands for netstandard tests in quotes

* Fix linux style slashes in dotnet build, use dotnet test over appveyor xunit

* [csharp-refactor] Update generator docs
2019-03-10 12:33:49 +08:00
William Cheng
cdb447d187 temp disable JavaJAXRSCXFExtServerCodegenTest tests 2019-03-09 18:00:56 +08:00
sunn
3739584a1a Add support for free form requests (#2288) 2019-03-09 00:03:31 +08:00
Bernd
ab8ee710a1 [typescript-rxjs] drop unneeded function wrapping (#2332)
* feat(typescript-rxjs): make internal RAW functions pricvate

* feat(typescript-rxjs): regenerate samples

* feat(typescript-rxjs): drop unneeded function wrapping

* feat(typescript-rxjs): regenerate samples

* fix(typescript-rxjs): remove "raw" from function name

* feat(typepscript-rxjs): regenerate samples
2019-03-08 23:50:54 +08:00
Lukas S
a797dd668b [typescript-fetch] Guard array mapping against undefined on optional array model properties (#2324)
* [typescript-fetch] Guard array mapping against undefined on optional array model properties (#2323)

* [typescript-fetch] Update samples
2019-03-08 23:13:55 +08:00
Tom Ghyselinck
c6a5017a13 Fix regex in Python server model code (#2314)
* - Fix regex in Python server model code.

* - Adding (regular expression) `pattern` to user name and category name.

* - Update Python server related generated code samples.
2019-03-08 17:10:52 +08:00
ota42y
882186f461 Add .travis.yml and Gemfile.lock to ruby security test folder (#2330)
When we run `./bin/security/ruby-client-petstore.sh`, we got changes.
I think someone fogot to commit it.
2019-03-08 15:59:41 +08:00
William Cheng
a06e957430 Add a link to CSDN article (#2331) 2019-03-08 15:58:33 +08:00
Vincent Devos
6848c524d7 [Maven] fix Spaces in Windows user path breaks build on test goal (#2318) 2019-03-08 10:09:23 +08:00
Vincent Devos
7124b119ea [PHP] fix bad links in Model docs (#2316)
* [PHP] fix bad links in Model docs

* [PHP] update php sample and fix tests using deleted Model

* [PHP] update php sample and fix tests using deleted Model
2019-03-08 02:08:59 +08:00
quackes
93486369fe [java]: fix datatype for non-multipart file request body (#2271)
[Spring] fix datatype for non-multipart file request body
2019-03-08 01:27:43 +08:00
Jean-François Côté
b302c16f74 Removed JFCote from core team (#2315)
Removed myself from the core team and java technical committee because I have no more time to work on the project. See you guys, it was awesome. Keep up the good work!
2019-03-07 21:51:53 +08:00
Vincent Devos
a55fb7adc5 [R sample] fix CircleCI error of outdated sample (#2313) 2019-03-07 19:02:16 +08:00
Vincent Devos
e6b7ee6f4c [Java] Bean Validation for decimalmin/max incorrect when exclusive set (#2115)
the exclusiveMinimum openApi properties is not mapped in bean validation annotation templates
2019-03-07 17:00:30 +08:00
Vincent Devos
d653d2d495 Java Spring : fix defaultValue annotation double quoted in api operation (#2267) 2019-03-07 16:55:02 +08:00
Vincent Devos
14aacfaa63 Java RESTEASY : fix defaultValue annotation double quoted in api operation (#2268) 2019-03-07 16:46:09 +08:00
Julian
c00a439dcd [PHP] Username checks #1408 (#1892)
* Reverted path changes. Removed additional files in php petstore-security-test folder. Generated new samples.

* Batch and Shell scripts modified to use the same specification files for sample generation. Sample files generated.

* Input file path in PHP client batch file equalized with the input path in the shell script file. Samples generated.

* Added a missing bracket in the PHP client mustache template.

* AbstractPhpCodegen apiDocPath and modelDocPath creation adjusted to always use slash instead of system seperator, since the values will just be used in Markdown files.

* Unnecessary samples removed.

* Fixed unnecessary diversions between Windows and Linux/Mac paths in PHP codegen.

* New samples generated after rebase.

* Fixed a sample in TypeScript Angular v2 which caused CI to break.
2019-03-07 16:07:58 +08:00
Willians Cassiano
8a0248eee0 [typescript-fetch] remove namespaces in enums (#2123)
* fix #1947, namespaces on typescript fetch

* fix #1947, namespaces on typescript fetch

* reversed change in AbstractTypeScriptClientCodegen specialized TypeScriptFetchClientCodegen.postProcessModels

* removed enums in ts-fetch tests
2019-03-07 16:00:38 +08:00
Vincent Devos
49ef024cf6 [java-server-msf4j] fix and upgrade (#2303) 2019-03-07 15:59:32 +08:00
ota42y
e810848a03 fix test script path in CONTRIBUTING.md (#2290)
* fix test script path in CONTRIBUTING.md

`./bin/ruby-petstore.sh` renamed by #534 so we should fix CONTRIBUTING.md

* fix website
2019-03-07 15:55:20 +08:00
d3v-cl
49b15ee518 Dart queryargs (#2250)
* [DART2]: fix encoding query args

* [DART]fix: url encode query arguments

* [DART][DART2]feat: rebuild petstore
2019-03-07 15:52:34 +08:00
Jeff Groom
9236e50098 add Blueplanet language (#2184)
Add python-blueplanet server generator
2019-03-07 15:48:57 +08:00
Vincent Devos
6a9117edd1 ensure-up-to-date - add r and javascript (#2227) 2019-03-07 15:46:41 +08:00
William Cheng
ac69b2da1a Add a link to DZone article (#2310) 2019-03-07 15:42:39 +08:00
Shimin Guo
0cd5fb6dc2 [haskell-http-client] fix indentation in .cabal file (#2306) 2019-03-06 07:33:30 -06:00
Shimin Guo
0695cf99e6 [haskell-http-client] update katip version bound (#2305)
* haskell-http-client: update katip version bound

0.8.0.0 is needed due to the interface change in `mkHandleScribe`

* update petstore
2019-03-06 07:31:45 -06:00
Vincent Devos
4f37e81d55 Minor fix on pom (#2304) 2019-03-06 17:22:12 +08:00
William Cheng
58773a3659 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2019-03-06 09:27:48 +08:00
William Cheng
2807ed0af9 update petstore samples 2019-03-06 09:27:25 +08:00
Adrian Price
2985c0f0b8 JAX-RS/CXF 1158 Options to generate fully functional method bodies passing fully populated test data (#1879)
* add option to generate alias as model

* [JAXRS/CXF] Emit method bodies, test data (#1158)

New jaxrs-cxf-extended generator with options:
 - supportMultipleSpringServices Support generation of Spring services
   from multiple specifications
 - generateOperationBody (boolean) Enables generation of fully
   functional test/service method bodies that pass/return random
   but valid values & models.
 - loadTestDataFromFile (boolean) When true, generated method bodies
   load test data from a generated JSON file. When false, generated
   method bodies contain inline code to construct the test data.
 - testDataFile (string) The path of a JSON file to contain generated
   test data. The file is initially generated but editable; edits are
   preserved by subsequent generations.
 - testDataControlFile (string) The path of a JSON file to control test
   data generation - specifically, to control the number of items
   required in array properties, structured by API class
   / operation name / parameter name. The file is initially generated
   but editable; edits are preserved by subsequent generations.
 - tests for the jaxrs-cxf-extended generator, including the new options
Bug fixes:
 - fix bug (DefaultGenerator): handle absolute paths in supporting file
   spec
 - fix bug (DefaultCodegen): process enums in allVars
 - fix bug (AbstractJavaCodegen): support multiple inheritance via
   allOf (inheritance code deleted, as a subsequent pull broke it)
 - fix bug (JavaCXFServerCodegen): use operationId instead of nickname
(gets out of step with duplicate operationIds)
 - fix bug (JavaCXFServerCodegen): set appropriate default
consumes/produces for operations with body parameters or non-void
returns (CXF providers don't handle */*)
 - fix indentation (DefaultCodegen)
 - add support for a system property openapitools.implementation.version
to specify the package implementation version when running non-JAR'd
classes in an IDE (otherwise {{{generatorVersion}}} evaluates to
'unset'.

* reformat code

* make sh executable

* fix template folder

* fix template folder, update samples

* run test data manually to avoid ci failure
2019-03-06 08:58:11 +08:00
William Cheng
37c890f755 minor wording change (#2299) 2019-03-06 01:13:28 +08:00
Benjamin Gill
bcb4b03798 Refactor and use some Java 7 features (#2225)
* Fix typo in (unused) method name

* Tidy up Rust server generator

Remove some repetition and use some nifty new methods introduced in Java 8

* Start using Objects.hash and Objects.equals

* Convert more equals implementations over

To use Objects.equals

* Convert more hashCode implementations over

To use Objects.hash. Might have the pleasant side-effect of improving
performance a bit.
2019-03-06 01:12:52 +08:00
William Cheng
c57abbe5bd js_flow_improve (#2298) 2019-03-05 19:09:40 +08:00
Michael van Niekerk
caf404d857 Typescript+Axios: Separate model and api classfiles and package (#2005)
* Typescript 3.2

* Typescript spread operator

* Add vendor extension to the operation

* Remove url.URLSearchParams

* Generate form data in API

* Make axios scripts executable

* Reran generator

* Generate sample code

* Codegen having the model and api extra flag

* Revert to 2.4 Typescript

* COLLECTION_FORMAT.{{collectionFormat}} everywhere for consistency

* Consistency on the CollectionFormats, comment on the vendor extension

* Throw exception if api and model packages are not given

* Templates splitting api and models

* Post process the operations in the the process

* Beginning to get the axios tests up

* Ensure-up-to-date doesnt include TS/Axios tests

* Docs update for Typescript/Axios

* Merge master

* Api tests re-run

* Add windows bat file
2019-03-05 16:44:33 +08:00
Ramzi Maalej
cc1fe6eebf fix resources management (#2229)
* fix resources management

* remove obselete if statement

* throw exception when body is null

* prevent potentional nullpointerexception

* use valueOf instead of constructor

* remove duplicated code

* avoid unclosed resources

* remove redundant key

* fix broken tests

* fix sonar issues

* fix tests

* add Veamly as a company using openAPI generator

* revert back if statement to explicitly express the intention behind it
2019-03-04 22:27:54 +08:00
kemokemo
0c54286909 Apply GIN_MODE=release for the Dockerfile of go-gin-server (#2283)
* chore: apply release mode for the Dockerfile

* docs: update by `./bin/go-gin-petstore-server.sh`

* docs: update by `./bin/openapi3/go-gin-petstore-server.sh`
2019-03-04 22:24:12 +08:00
Akira Tanimura
1d02f0374b [Ruby] Escape string interpolation notation of Ruby (#2261) (#2287)
* escape string interpolation notation of Ruby (#2261)

* update samples (#2261)
2019-03-04 22:22:45 +08:00
ota42y
88abea1755 update ZenTest (#2289)
* update ZenTest

ZenTest 4.11.1 requires rubygems 2.x.

But Ruby 2.6.0 include rubygems 3.x.
So we can't use ruby client in Ruby 2.6.0.
https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/

ZenTest 4.11.2 removed rubygems dependency so we should update.
1883b210aa

* update ruby client sample
2019-03-04 22:18:15 +08:00
Vincent Devos
24df02a191 Run "bin/ensure-up-to-date.sh" for SNAPSHOT version only (#2286)
Now we've to manually comment/uncomment the line before/after the release.
Ideally the script "ensure-up-to-date.sh" should only run for SNAPSHOT version only.
2019-03-04 00:06:30 +08:00
William Cheng
8843df65a4 [aspnetcore] - make more configurable and generate abstract class library #2181 (#2282)
* Add ability control out put generation and support to generate a library

* Roll back pom version - it seems to break the CI/CD checks

* Roll back pom version - it seems to break the CI/CD checks

* Match with genrators - no changes from new code

* Fix inadvertent changes

* No idea why the names of params have changed pet to body for instance

* Match generated document

* Clarify logic as per PR review

* Remove the generatewwwroot option and use the buildtarget option

* Remove ar artifactVerson (not used), update docs and TODO notes

* Add ability control out put generation and support to generate a library

* Roll back pom version - it seems to break the CI/CD checks

* Roll back pom version - it seems to break the CI/CD checks

* Fix inadvertent changes

* Match generated document

* Add ability control out put generation and support to generate a library

* Roll back pom version - it seems to break the CI/CD checks

* Roll back pom version - it seems to break the CI/CD checks

* Fix inadvertent changes

* Match generated document

* Clarify logic as per PR review

* Remove the generatewwwroot option and use the buildtarget option

* Remove ar artifactVerson (not used), update docs and TODO notes
2019-03-03 23:23:17 +08:00
kemokemo
8c88f46fba Fix 2278: migrate the docker image for the aspnetcore generator (#2281)
* fix: migrate the docker image.

* doc: fix the inner port of the docker image

* docs: update samples by `./bin/aspnetcore-petstore-server.sh`
2019-03-02 19:04:03 -05:00
William Cheng
24f20941e5 fix npe when array item missing (#2247) 2019-03-02 21:48:00 +08:00
William Cheng
f47af5e6f0 Add link to "Building APIs with OpenAPI: Continued" (#2279) 2019-03-02 21:45:23 +08:00
William Cheng
9829e06790 Add link to GCP article (#2274) 2019-03-01 21:16:40 +08:00
Bernd
052879d6cb [typescript-rxjs] fix enums (#2242)
* fix issue with duplicate enum exports

* regenerate typescript-rxjs samples
2019-03-01 19:09:06 +08:00
Jon Schoning
c30a21ac3c [haskell-http-client] Allow logger selection via cabal flags. Emit Consumes */* for requestBody when not specified
[haskell-http-client] Allow logger selection via cabal flags. Emit Consumes */* for requestBody when not specified
2019-02-28 13:04:50 -06:00
Akira Tanimura
84b99fea54 [Ruby] Auto recreate specs in OAS3 Ruby sample (#2264)
* purge generated tests also in bin/openapi3/ruby-client-petstore.sh

* update OAS3 Ruby client samples
2019-02-28 18:23:04 +08:00
William Cheng
54d9c19c77 Use https URL to download dependencies (#2248)
* fix groovy default value, use https to download dep

* update groovy build gradle file
2019-02-27 23:26:53 +08:00
William Cheng
92757581d6 better info message about using generateAliasAsModel (#2246) 2019-02-27 17:31:07 +08:00
William Cheng
7235e6d962 update petstore samples 2019-02-27 13:07:42 +08:00
Dec12 | Fujigon
5fe0c94135 [Java][JaxRs] bean validation annotation (e.g. NotNull) is applied to body param of api interface (#2239)
* fix template so that bean validation annotation (incl. NotNull) is applied to api interface.

* regenerate samples
2019-02-27 11:38:57 +08:00
William Cheng
b5ce0bddee [JavaScript] Add petstore integration test to JS ES6 client (OAS3) (#2245)
* add test for js es6 oas3 client

* fix test with proper done

* add test, fix servers index check
2019-02-27 11:14:51 +08:00
Dec12 | Fujigon
aa339d6046 [core] add test cases for referenced enum case (#2237)
* add test case

* regenerate samples
2019-02-27 11:14:21 +08:00
William Cheng
9e2a9e1515 [Ruby] various improvements (#2226)
* add to_s in api error class

* rename variable to align with code sample

* fix initalize, better validation

* update petstore samples

* add code sample for model

* add auto-generated travis file

* improve error message

* add travis file

* uncomment to_s
2019-02-27 03:38:20 +08:00
William Cheng
9695090d9b [R] Fix NPE issue due to default value using example value (#2231)
* fix NPE issue due to default value using example value

* update r petstore sample
2019-02-25 19:09:26 +08:00
William Cheng
8e7ad9c9b6 Removal of number being default to example in python client (#2228)
* remove number default to example in python client

* update python samples
2019-02-25 16:44:38 +08:00
Vincent Devos
63eb9298cf fix python asyncio/tornado samples outdated (#2224) 2019-02-24 11:50:59 +08:00
William Cheng
a36319185b Add Haskell Servant build to Travis CI (#2196)
Add Haskell Servant build to Shippable CI
2019-02-24 11:19:09 +08:00
William Cheng
e6658278ad R client refactoring (#2215)
* [R] fix namespace, use 2-space indentation (#2105)

* fix namespace, indentation

* use 2-space indentation in model files

* update gitignore

* use PascalCase for function naming (#2106)

* [R] improve .travis.yml, .Rbuildignore (#2109)

* update travis

* enhance travis.yml

* update travis, .Rbuildignore

* [R] Add auto-generated documentations, change parameter naming (#2114)

* add auto-generated doc for r client

* remove module name

* replace nil with void

* [R] fix object serialization to JSON (#2129)

* fix object serialization

* fix array property seriziation

* fix deserializing array of string

* fix array of object deserialization

* [R] Fix return type (#2140)

* fix return type

* update r petstore sample

* add auto-generated tests (#2141)

* rename file to conform to style guide (#2142)

* add authenticaiton support to R (#2153)

[R] Add authentication support, minor ApiClient refactor

* rename test files

* [R] various improvements and bug fixes (#2162)

* fix api keys in headers

* use optional parameter in function signature

* fix property naming

* fix doc assignment operator

* [R] fix base64 encode (#2171)

* fix base64 encode

* fix basic http auth

* fix typo, update instruction (#2203)

* rename test files to conform to style guide (#2206)

* [R] improve class constructor (#2208)

* update constructor with optional parameter, default value

* update r petstore sample

* clean up files

* regenerate files

* Revert "rename test files to conform to style guide (#2206)"

This reverts commit 90a6302a65.

* fix query parameter in api client (#2214)
2019-02-23 23:51:11 +08:00
Vincent Devos
7486438491 pyhton sample cleanup models unused (#2219)
* pyhton sample cleanup models unused

* pyhton sample cleanup models unused tests
2019-02-23 23:40:06 +08:00
Akihito Nakano
8ba93f1952 Fix version detection (#2223) 2019-02-23 21:59:33 +08:00
William Cheng
f2002b25da [Python] remove default value from being fallback to example (#2213)
* remove example fallback

* reset test case
2019-02-22 20:44:27 +08:00
William Cheng
163b00459f Add petstore integration tests to Ruby OAS3 client (#2211)
* skip bats installation

* add petstore tests to ruby oas3 client
2019-02-22 17:18:55 +08:00
Kevin Howell
329843bc92 Gradle - make GenerateTask properties optional (#2185)
This allows easier creation of custom `GenerateTask`. Specifically, this makes:

 - generateModelTests
 - generateModelDocumentation
 - generateApiTests
 - generateApiDocumentation
 - withXml

optional, following the same pattern as other properties in GenerateTask.

Without this change, we get `java.lang.IllegalStateException: No value
has been specified for this provider.` until these properties are
specified for the task, when attempting to define a custom generate task
(such as one to generate API docs).
2019-02-21 18:18:47 -05:00
William Cheng
0650d2f60e skip bats installation (#2198) 2019-02-20 15:33:19 +08:00
Stefan Dresselhaus
ae376c151b Something in the dependencies changed. This switch is no longer needed. (#1850) 2019-02-20 15:25:11 +08:00
boxdot
bc6c94d412 Use oauth token for basic bearer auth in Rust. (#2161)
* Use oauth token for basic bearer auth in Rust.

* Add bearer_access_token instead of reusing oauth_access_token
2019-02-20 10:17:22 +08:00
Akihito Nakano
1d08296f96 Fix missing nullable (#2189)
* Add test case which reproduces the issue

* Fix missing `nullable`

* Tweak property name

* Add test case which covers `Paths`

* Add test case for CodegenProperty.isNullable

* Fix missing CodegenProperty.isNullable

* Rename r -> referencedSchema
2019-02-19 23:57:24 +08:00
Lukas Steinbrecher
c79d27708f Enable error handling in Java WebClient library, fixes #1243 (#1244)
* enable error handling in Java WebClient library, fixes #1243

* remove custom error handling logic in Java WebClient library, fixes #1243
2019-02-19 22:47:22 +08:00
Jérémie Bresson
fda867ebfe [core] fix referenced enum case (#2175) 2019-02-19 22:42:32 +08:00
victor-xplore
1dadd45ffe rest-template: allow array parameters in path using collectionFormat (#2177)
* 2125: java-resttemplate: Support collection formats in pathParams

* run ./bin/java-petstore-resttemplate.sh
run ./bin/java-petstore-resttemplate-withxml.sh
2019-02-19 22:00:27 +08:00
William Cheng
61b6f19d74 update go petstore samples 2019-02-18 23:28:35 +08:00
rhard
70180e074c Fix string types for cpprestsdk client generator (#1676)
* Fix string types for cpprestsdk client generator

* Regenerate the samples for restsdk-client
2019-02-18 22:34:51 +08:00
William Cheng
a3566cd34f Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-02-18 22:28:08 +08:00
William Cheng
a440396485 update kotline samples 2019-02-18 22:27:04 +08:00
Diego Mascialino
cd1885d29e Remove API Key Authentication code for go when cookie is used. (#1601) 2019-02-18 21:51:31 +08:00
MBcom
b4c36425c2 changed the package install instructions to install the .tgz package … (#1989)
* changed the package install instructions to install the .tgz package instead of symlinking the package - otherwise you'll get trouble with links on windows

* samples added

* added samples
2019-02-18 21:32:30 +08:00
Jacob Weber
534ff3607f okhttp-gson: allow array parameters in path using collectionFormat (#2137)
* okhttp-gson: allow array parameters in path using collectionFormat

* run bin/java-petstore-okhttp-gson-parcelable.sh
2019-02-18 21:30:56 +08:00
Akira Tanimura
8d6278bd4c [Ruby] Fix regualr expression in error message (#2069) (#2139)
* Fix usage of regular expression literals in Ruby client (#2069)

* update samples of Ruby client (#2069)
2019-02-18 21:18:55 +08:00
Alexander Navratil
aace459217 [kotlin][client] bytearray conversion (#2166)
* use kotlin.String for ByteArray fields (type: string, format: byte)

* revert "use kotlin.String for ByteArray fields (type: string, format: byte)"

* add ByteArrayAdapter for string <-> ByteArray conversion with moshi
2019-02-18 18:46:44 +08:00
Luis Alejandro Herrera León
b4b8c28b2a [rust-server] Added client documentation to rust-server (#2159)
* Added client documentation to rust-server

* Removed comments

* Removed go auth example
2019-02-18 18:02:40 +08:00
Vincent Devos
594af33fb8 [Java] Getter/Setter naming convention not followed in generated models (#2095)
fix the getter/setter when the second letter of the field name is already uppercase (following the JavaBeans API specification)
2019-02-18 18:00:35 +08:00
Pablo Lázaro
ad8aa7dc0e [Java] adds snapshotVersion CLI option and uses API version as artifactVersion by default (#2033)
* [Java]: adds snapshotVersion CLI option and uses API version as artifactVersion by default

* fix some typos

* fix naming diff between branches

* ensure-up-to-date

* update samples
2019-02-18 17:54:27 +08:00
Vincent Devos
8d5b600277 [typescript-angular] Update default Angular version from 4.3 to 7.0 (#2117)
* [typescript-angular] Update default Angular version from 4.3 to 6.0 (NPM Client)

* [typescript-angular] Update default Angular version from 4.3 to 7.0 (NPM Client)
2019-02-18 17:49:42 +08:00
William Cheng
33e50e6d46 update ruby petstore samples 2019-02-18 01:21:04 +08:00
sunn
851d11cf72 Fix failing build due to deprecation of initialCaps (#2168)
Include functional for failing build in debian
2019-02-18 00:46:20 +08:00
Vincent Devos
027e6c4a5c [plugin][maven] add missing General Configuration parameters in README (#2156) 2019-02-16 22:12:19 -05:00
Luis Alejandro Herrera León
cefd29b6ff [rust-server] Changed query parameters to be url encoded (#2136)
Based on this [issue](https://github.com/servo/rust-url/issues/416) the `utf8_percent_encode` doesn't percent encode `+` instead treats it as a space which is may cause a problem if the query parameters contain one. For example if we wanted to use a DateTime range in query parameters:

`{base_path}{path}?start=2019-02-12T00:00:00+00:00&end=2019-02-13T15:00:00+00:00`

These parameters may be decoded as:

```
start = 2019-02-12T00:00:00 00:00
end = 2019-02-13T15:00:00 00:00
```

To solve this I changed query parameters to be form-urlencoded using `url::form_urlencoded` based on what's done in [`rust` client generator](ea08106c80/modules/openapi-generator/src/main/resources/rust/request.rs (L106)).
2019-02-15 13:18:08 +00:00
geropl
7cb6a38150 openapi-generator-cli.sh: Fix missing single quote (#2160) 2019-02-15 11:20:38 +09:00
alex-korobko
42544b8234 Issue 1766 Modified mustache files for Go to support nullable in the … (#1869)
* Issue 1766 Modified mustache files for Go to support nullable in the spec v3.0+; Updated model files running .sh scripts for Go.

* Add "nullable" to fake yaml

* Add sample script for OAS3

* Fix output folder (openapi3)

* Run bin/openapi3/go-petstore.sh

* Update samples

* Update jaxrs-jersey

* Update python and php samples

* Add bin/openapi3/go-gin-petstore-server.sh

* Run bin/openapi3/go-gin-petstore-server.sh

* Update bin/openapi3/go-petstore-server.sh to generate "nullable" samples

* Run bin/openapi3/go-petstore-server.sh

* Fix duplicated `import`
2019-02-15 11:08:52 +09:00
Gocha Ossinkine
161cb88e88 Don't try to detect response format if method return nothing (#2073) 2019-02-14 19:55:40 +09:00
Gocha Ossinkine
2593d78ce6 Use Symfony Validator service (#2143) 2019-02-14 19:34:20 +09:00
Gocha Ossinkine
d87a3b90da Validate input objects (#2144) 2019-02-14 19:32:21 +09:00
Esteban Marin
e01a786bc9 #2147: fix compiler error in angular typescript codegen (#2149)
* #2147: fix compiler error in angular typescript codegen

* #2147: generate samples
2019-02-14 16:39:08 +08:00
Esteban Marin
804b589f5f Revert "Don't escape [ and ] in query param keys (#2107)" (#2128)
This reverts commit ba9c12f2e0.
2019-02-13 18:17:42 +08:00
Michael van Niekerk
550774a6e2 Typescript+Axios: multipart/form-data correctly handled (#2002)
* Typescript 3.2

* Typescript spread operator

* Add vendor extension to the operation

* Remove url.URLSearchParams

* Generate form data in API

* Make axios scripts executable

* Reran generator

* Generate sample code

* Revert to 2.4 Typescript

* COLLECTION_FORMAT.{{collectionFormat}} everywhere for consistency

* Consistency on the CollectionFormats, comment on the vendor extension

* fix compilation error
2019-02-13 16:29:46 +08:00
Jérémie Bresson
598bf0cd09 [core] consider schema in headers when computing unused schemas (#2138) 2019-02-13 16:19:05 +08:00
Benoît Courtine
b6c2266a14 [Rust][Client] Code format (#2042)
Rust clients code format cleanup (with some breaking changes for model structures):

* Application of Rust style in client files (4 spaces padding). Remove useless blank lines.
* Replace getters/setters in models by public fields.
* Add a trailing comma in struct fields.
* Sample Rust clients regeneration.
2019-02-13 00:51:16 +00:00
Jérémie Bresson
ea08106c80 [core] Fix NullPointer when schema is not set in header (#2133) 2019-02-13 02:27:20 +08:00
karismann
de33360883 [typescript-angular] Incorrect OperationId Generated (starting with number) (#2130)
append _ at the beginning, as reserved keyword
2019-02-13 02:26:45 +08:00
Julian
add63cb981 [PHP] Replace File.seperator with slashes in PHP projects #2004 (#2007)
* [FIX] Replace File.seperator with slashes in PHP projects.

* Replaced 'File.separator' with slashes in AbstractPhpCodegen.
2019-02-13 02:26:15 +08:00
Jérémie Bresson
f1fa0a80ad [clean-up] Centralize Swagger-Parser calls in the unit tests (#2110) 2019-02-12 06:09:21 +01:00
Sven Panne
fd0847864a Fixed handling of dotted module names in python generator. (#2016)
Previously, if you used a packageName of the form "foo.bar.baz", half of the
generated files of the python generator went into a subdirectory
"foo/bar/baz" (correct), the other half went into a subdirectory
"foo.bar.baz" (incorrect).
2019-02-12 12:20:34 +08:00
William Cheng
4e85993490 Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-02-12 02:39:39 +08:00
William Cheng
8707f943c0 update ts angular 2 samples 2019-02-12 01:34:15 +08:00
Akira Tanimura
33a8939bd5 [Ruby] Fix enum expansion in Ruby client (#2081) (#2104)
* use double-quote string for enum value (#2081)

* use enumVars in templates for Ruby client (#2081)

* delete unnecessary line in enum model of Ruby client (#2081)

* update samples of Ruby client (#2081)
2019-02-12 00:32:36 +08:00
Gocha Ossinkine
5c64b58bae Fix JMSSerializerBundle version (#2057) 2019-02-12 00:17:43 +08:00
BastiOfBerlin
ba9c12f2e0 Don't escape [ and ] in query param keys (#2107)
rails' default naming for arrays is name[]=...&name[]=...
It doesn't recognize the escaped forms %5B + %5D but fails silently
2019-02-12 00:17:04 +08:00
Gocha Ossinkine
73d309b9ba Catch serializer exception (#2074) 2019-02-10 15:41:09 +08:00
john lilley
f76dca84f5 Fix Bug 1433 decimal literal in C# maybe other languages (#1436)
* Trivial change to kick PR again

* Fix issue 1433 (default decimal literal broken for C#)

* Replace tab with space

* update samples
2019-02-10 15:28:40 +08:00
William Cheng
302922b8a4 update php oas3 samples 2019-02-10 12:41:38 +08:00
Akihito Nakano
773aa269ae Add @autopp to Ruby technical committee (#2103) 2019-02-10 11:34:46 +08:00
Akira Tanimura
7dcffff20b [Ruby] Fix Ruby client to prevent Rubocop's rule violations (#2100) (#2102)
* [Ruby] Delete empty lines and trailing newline in template to prevent Rubocop's rule violation (#2100)

* [Ruby] update samples of Ruby client (#2100)
2019-02-10 09:29:34 +09:00
William Cheng
20d5adcdd5 [PHP] remove deprecated options (#2083)
* php remove deprecated options

* update php doc

* clean up composerVendorName in code, templates

* update samples
2019-02-10 09:25:20 +09:00
William Cheng
e0ed6719a0 Add "servers" support to the operation, path in PHP API client (#2072)
* add servers support to path, operation in php client

* remove servers from spec

* update based on feedback
2019-02-10 08:27:41 +09:00
davidwcarlson
ef7b28de00 fix 457 Support for Bearer Auth (#1930)
* fix #457 by introducing an HttpBearerAuth object

See https://github.com/OpenAPITools/openapi-generator/issues/457
Also https://github.com/OpenAPITools/openapi-generator/issues/1446 for typescript, https://github.com/OpenAPITools/openapi-generator/issues/1577 for python

Specs defined as follows currently generate BasicAuth and send an "Authorization: Basic [base64Encode(username + ":" + password)]" header
    components:
      securitySchemes:
        bearer:
          type: http
          scheme: bearer

This change will generate code which uses a new HttpBearerAuth class, which will send a "Authorization: [scheme] [accessToken]" header.
This change is slightly larger and more impactful than simply using OAuth for bearerBearer, but it allows for scheme values other than bearer.

This fix was enabled by the recent commit of 80ca67cfda

This PR is an alternative to https://github.com/OpenAPITools/openapi-generator/pull/1972

* update petstore samples

* Update HttpBearerAuth mustache templates and samples

* correct the expected number of generated java client files

* update the retrofit2 HttpBearerAuth template and samples

* Add resttemplate-specific HttpBearerAuth mustache and samples

* add vertx-specific HttpBearerAuth template and samples

* add java webclient-specific HttpBearerAuth template and samples
2019-02-09 22:51:44 +08:00
William Cheng
348c22c883 Add "servers" support to operation, path in the JS client (#2060)
* add operation, path servers to js es6 client

* add servers support to operation, path in js es5

* fix null check
2019-02-09 22:25:01 +08:00
Gocha Ossinkine
8f5fa4df83 Add controller.service_arguments tag to controllers to make them public (#2059) 2019-02-09 22:19:42 +08:00
Matthieu Berthomé
cf6f10252d [Python] handle nullable parameters with None added to allowed_values (#2034)
* handle nullable parameters with None added to allowed_values

* update samples

* spec for testing enum with null/nullable
2019-02-09 22:08:47 +08:00
Sven Panne
0b10092262 [python-flask] [python-aiohttp] [bug] Fixed handling of dotted module names (#2041)
Previously, if you used a packageName of the form "foo.bar.baz", half of the
generated files of the python generator went into a subdirectory
"foo/bar/baz" (correct), the other half went into a subdirectory
"foo.bar.baz" (incorrect).
2019-02-09 02:51:36 +08:00
karismann
cd2ff0b041 [angular-typescript] Wrong Typescript Version for Angular 6 with Npm (#2097)
The Angular Compiler 6 requires TypeScript >=2.7.2 and <2.10.0
2019-02-09 02:44:48 +08:00
William Cheng
0a2fb8db8f Remove localVarPrefix from Java client (#2045)
* remove localVarPrefix from java client

* rename local varaible

* update samples
2019-02-08 11:51:26 +08:00
William Cheng
36fa7102dd [Python] Add "servers" support in path, operation (#2052)
* add servers to path, operation

* add path/operation server support to python client

* update python samples

* fix index

* fix python code style
2019-02-08 11:48:37 +08:00
William Cheng
7cee2b62e4 fix JS default ot ES6 (#2084) 2019-02-08 11:47:33 +08:00
karismann
5281ea8bef [JAVA] fix outdated windows script for test templates (#2091) 2019-02-08 10:11:06 +08:00
Pablo Lázaro
aa24f07433 [TypescriptAngular] gets package npm version from API specification (#2019) 2019-02-07 15:53:01 +08:00
Morten Hekkvang
aa15882e2b Update openapi-generator-cli.sh (#2065)
* `jq` executable is a much cleaner way to get version number
* Using `jq` and getting `releases` instead of `tags` allows us to get latest stable release
2019-02-07 14:56:53 +08:00
autopp
f1a56447ba Request to run ./bin/openapi3/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh before submitting new PR. (#2071) 2019-02-07 12:14:11 +08:00
Sven Panne
dd3e6c6a3b Use actual value of generateSourceCodeOnly in python generator. (#2015) 2019-02-06 15:04:53 +08:00
autopp
28768244d6 [Ruby] Use double-quote string to enable string interpolation (#2067) (#2068) 2019-02-06 14:59:54 +08:00
Mike Ralphson
532743b4f9 Add .gitattributes file to 'vendor' mustache templates (#1980)
This has the effect of making GitHub attribute the language of the project correctly (e.g. as Java). This is useful for sites which list projects by assigned language.
2019-02-06 14:58:49 +08:00
William Cheng
0b66fa5c82 add servers to path, operation (#2048) 2019-02-05 17:07:52 +08:00
William Cheng
454adec32d Fix isFreeFormObject check for allOf, oneOf, anyOf (#2044)
* fix free form object detection

* refator
2019-02-04 22:12:59 +08:00
William Cheng
931c03beca add methods to name interface (#2046) 2019-02-04 17:34:55 +08:00
Matej Vehar
f4088f8ee8 Enable serialization of non-null negative values (array, false, etc) (#2032) 2019-02-04 15:25:16 +09:00
Akihito Nakano
f56bc79db6 Add a link to the presentation by @ackintosh at Gunma.web (#2047) 2019-02-04 00:30:32 +08:00
Dj Padzensky
6f4ba25cd8 Making completion work with openapi-generator-cli or openapi-generator (#2027)
Homebrew installs openapi-generator-cli as openapi-generator.  This will make bash completion work with either.
2019-02-02 11:34:27 +08:00
Benoît Courtine
888068d122 Rust reqwest improve (#1890)
* Resolves #525 for Rust client generator with reqwest library.

* Use Reqwest "query" method to generate query URL.

* urlencode URL string parameters.

* Generate rust-reqwest client, and verify it compiles and work as intended.

* Map file params (to "&std::path::Path") and support multipart operations (with file params) in Reqwest library.

* Cleanup: template compression to remove unecessary blank lines in generated code.
2019-02-01 15:02:16 +08:00
Jeremie Bresson
16f52cf2ad Set version to 4.0.0-SNAPSHOT
This reverts commit 6a414af13f.
2019-02-01 00:03:51 +01:00
Jérémie Bresson
6a414af13f 4.0.0-beta2 release (#2036) 2019-02-01 00:00:22 +01:00
William Cheng
453eeb9e40 Add Bearer authentication to PHP API client (#2013)
* add php bearer auth support

* add partial mustache

* add bearer format

* update php ze-ph samples
2019-01-31 17:54:10 +08:00
William Cheng
6801741592 Add Bearer authentication support to JS client (#2020)
* add bearer authentication support to js client

* add bearer format to js client

* fix test case

* update php ze-ph samples
2019-01-31 15:27:24 +08:00
Daniel Miller
cbda3fad98 [C++][Client][C++ Rest SDK] Fix path parameters with format (#1987)
* Create parameterToString for shared_ptr<T>

* Update cpp-restsdk sample petstore client
2019-01-31 10:47:00 +08:00
William Cheng
f946492e7e update php ze-ph samples 2019-01-31 10:38:06 +08:00
William Cheng
562442764a update php ze-ph samples 2019-01-31 10:07:18 +08:00
William Cheng
2eb99f602a Add Bearer authentication support to Python client (#1999)
* add bearer auth support to python

* add bearer auth support to python

* update python oas2 petstore samples

* update samples

* add bearer format

* update php symfony samle
2019-01-30 22:16:53 +08:00
Arthur Mogliev
77d2de4e3d [PHP][php-ze-ph] Support for PHP 7.1+, Zend Expressive 3.2 and PathHander 0.4 (#1902)
* - support for PHP 7.1, Zend Expressive 3.2 and PathHander 0.4 for php-ze-ph generator

* - fixed mess with petstore samples (added new files, removed obsolete files)

* php-ze-ph:
- overwriting "*/*" media type for producers with "n/a" (PathHandler does not support that cause it makes no sense to return response with "Content-Type: */*")
- "array" return type declaration for handler methods with ambiguous "container" return type
- better way to generate attribute annotation stub for request body data with ambiguous "container" type
- fixed missing dependency in composer.json
- minor optimization for container.php
- samples for OAS3 petstore spec

* php-ze-ph:
- note about ext-yaml in stub README
- updated .gitignore

* php-ze-ph:
- logging '*/*' replacement as warning
2019-01-30 15:36:00 +08:00
Jérémie Bresson
c871e3bc81 [core] Handle referenced enum case correctly (#2001)
* [core] Handle referenced enum case correctly

* Update all samples

* Fix compile error after merge
2019-01-30 11:07:58 +08:00
Jérémie Bresson
02a8dad77c Document 'x-enum-descriptions' and 'x-enum-varnames' (#2010) 2019-01-29 13:56:37 +01:00
Dennis Kieselhorst
bcfa86d401 update CXF and Jackson to latest version (#2017) 2019-01-29 20:43:41 +08:00
William Cheng
83d34bd8d7 Add multiple servers support to JS API client (#1974)
* add multiple servers support to JS ES6

* multiple server support in js es5

* using exports in es5

* fix index check

* add oas v3 js es6 client to travis
2019-01-29 11:19:21 +08:00
Jérémie Bresson
046db19a85 [core] cleanup: remove OpenAPI parameter from CodegenConfig methods (#1953)
* Add OpenAPI parameter to DefaultCodegen#toDefaultValue(..)

* Remove CodegenConfig#fromOperation()

* Remove allDefinitions parameter from fromModel(..)

* Remove definitions parameter from CodegenConfig#fromOperation(..)

* remove schemas parameter from DefaultCodegen#fromRequestBody(..)

* remove schemas parameter from DefaultCodegen#fromCallback(..)

* Remove openAPI parameter from CodegenConfig#fromModel(..)

* Remove openAPI parameter from CodegenConfig#fromOperation(..)

* Remove openAPI parameter from DefaultCodegen#fromProperty(..)

* Remove openAPI parameter from DefaultCodegen#fromParameter(..)

* Remove OpenAPI parameter from several methods

* Use ModelUtils.getReferencedParameter(..)

* Remove unused variable

* Remove openAPI parameter from DefaultCodegen#fromResponse(..)

* Remove openAPI parameter from DefaultCodegen#addHeaders(..)

* Remove from addConsumesInfo(..)/addProducesInfo(..)

* Improve test: add property to prevent Pet from being a free-form object

* remove globalSchemas Map<String, Schema>

* remove deprecated method: postProcessOperations()

* Remove 'Map<String, Schema> allSchemas' from addProperties(..)

* Remove 'Map<String, Schema> allDefinitions' from createDiscriminator(..)

* Remove 'Map<String, Schema> allSchemas' from unaliasPropertySchema(..)

* Rename globalOpenAPI to openAPI

* Update documentation

* Run “Optimize import” in IntelliJ IDEA
2019-01-28 16:19:36 +08:00
MBcom
6f16b45976 added bearer authentication to typescript-angular package (#1986)
* added bearer authentication to typescript-angular package

* updated samples
2019-01-28 16:16:32 +08:00
William Cheng
7811390b7b Add multiple servers support to Python client (#1969)
* add multiple server support to python client

* various fixes

* minor fixes, add tests

* test oas2 python first

* fix tests

* fix issues reported by flake8

* update code format

* add python petstore to ensure up-to-date

* rearrange test

* fix E501

* fix tests

* add new files

* fix script permission

* fix index check

* update samples
2019-01-28 11:24:48 +08:00
William Cheng
887b688014 [Java] Generate OAuth related files only if OAuth security schema is used (#1907)
* optionally include oauth files in java client

* fix java templates

* fix tests

* fix CI issues
2019-01-28 11:05:37 +08:00
William Cheng
9029103c94 fix index check, add test cases (#1993) 2019-01-27 21:18:20 +08:00
William Cheng
c438f67b66 fix index, add test case in php client (#1994) 2019-01-27 20:29:59 +09:00
Yuriy Belenko
4f8164e713 [Slim] Update Readme (#1995)
* Add OpenAPI Generator link to readme

* Update Readme example to match config
2019-01-27 18:05:42 +08:00
William Cheng
706192980c update samples 2019-01-26 22:03:58 +08:00
gfeun
860b91e45e [lua] Allow connection on port != 80 or 443 (#1712)
* Allow connection on port != 80 or 443

In the current implementation a client can't connect on another port than 80 or 443
This commit allows to specify a host like "localhost:8080" when creating the client
The port is then used when initiating http requests

* Update Petstore Sample for CI

* Fix unused return value

* Update petstore sample

* Rename host parameter into authority
2019-01-26 21:05:22 +08:00
Joke Durnez
1a07bd6573 Bugfix/rheaders (#1965)
* debug headers in R client

* fixes to R client

* petstore samples

* missing space

* other space :)
2019-01-26 17:27:24 +08:00
Justin Black
9ec594eec5 [Spec] adds XmlItem model and route for xml testing (#1883)
* Adds xmlitem model and route, rest-assured Api suffix fix, updates pytest and pytest-cov versions

* Adds python client sample files

* Adds samples update

* Adds rest-assured sample client update

* Adds sample updates in ensure-up-to-date

* Changes rest-assured files back to master version, removes fix for issue #13

* Updates samples
2019-01-26 17:26:38 +08:00
William Cheng
65d9e859be Fix customized source folder in Java client (#1978)
* fix customized source folder in java client

* update samples
2019-01-25 21:05:13 +08:00
d3v-cl
bc6997f0e5 [DART2]: fix Map<String, nativeType> fromJson (#1936) 2019-01-25 10:54:46 +08:00
William Cheng
827e68ca1c jaz-ah to remain in the technical committee only 2019-01-24 22:20:08 +08:00
William Cheng
33b7547da3 Add multiple servers support to PHP client (#1964)
* add multiple server support

* update php samples

* update wording

* make variables optional
2019-01-24 11:32:03 +08:00
Paul Mundt
69323aec48 Update README.md (#1971)
Add Adaptant to the list of companies using the OpenAPI Generator
2019-01-24 10:42:11 +08:00
William Cheng
3757ffe0ba Add https://www.codecentric.de/ to company list (#1967) 2019-01-23 18:00:12 +08:00
William Cheng
3ea6cf356f Fix C# discriminator's mapping name (#1942)
* fix C# mapping name

* add back jsonsubtypes

* add new files
2019-01-23 15:54:24 +08:00
Esteban Marin
af634c77c4 update link to maven jar download to 3.3.4 (#1962)
* update link to maven jar download to 3.3.4

* revert change
2019-01-23 00:49:01 +08:00
Esteban Marin
e48a8fea1d fix link to online docs (#1960) 2019-01-23 00:48:43 +08:00
William Cheng
47e262fbb1 Add migration note about change in basePath (#1957)
* Add migration note about change in basePath

* update body parameter note
2019-01-22 16:56:27 +08:00
Inseok Lee
4ca7158aa2 Update README.md (#1959)
Add Cupix to company list
2019-01-22 16:55:49 +08:00
William Cheng
dce5ed229f add cname, ga id, remove readme (#1958) 2019-01-22 16:54:35 +08:00
William Cheng
e0de5d6135 Add Xero to company list (#1950) 2019-01-22 16:49:53 +08:00
William Cheng
4c5231ea7a Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-01-22 16:29:10 +08:00
William Cheng
2fa0e810bf update samples and docs 2019-01-22 16:23:16 +08:00
Uku Loskit
ab840ff000 In case of a Integer Enum, add N-prefix, because Ruby does not allow identifiers that start with numbers (#1945)
In case of a Integer Enum, add N-prefix, because Ruby does not allow identifiers that start with numbers
2019-01-22 16:16:52 +08:00
Jim Schubert
eeb3d7765b [website] Fix user link images (#1956) 2019-01-22 15:04:05 +08:00
William Cheng
2220a2ca85 Update website URL 2019-01-22 11:40:52 +08:00
Bernd
d33c4bb4a3 add new generator: typescript-rxjs (#1884)
* Merged in feature/rxjs (pull request #2)

Feature/rxjs

* feat: duplicate typescript-fetch, add docs

* duplicate fetch codegen to use for rxjs

* remove mapping helpers from modesl

* introduce rxjs, adjust apis

* make middlewares work

* fix namespace issue with babel

* fix enum generation

* fix formatting of enum

* remove other readme

* feat: duplicate typescript-fetch, add docs

* duplicate fetch codegen to use for rxjs

* remove mapping helpers from modesl

* introduce rxjs, adjust apis

* make middlewares work

* fix namespace issue with babel

* fix enum generation

* fix formatting of enum

* remove other readme

* add bash scripts to generate samples

* remove environment import

* add rxjs dependency to package.mustache

* add genereated samples

* add docs

* add windows scripts

* adjust license info

* update "ensure-up-to-date" by typescript-rxjs

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/apis.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* fix missing return for Observable<void>

* use shorthand syntax

* improve linting

* improve linting

* revert previous changes

* Revert "Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache"

This reverts commit 26f65ca4ce.

* recreate typescript-rxjs samples
2019-01-21 23:26:18 +08:00
Jérémie Bresson
956512a9bf [java-jaxrs] Add Javadoc to enum (x-enum-descriptions) (#1951) 2019-01-21 23:24:56 +08:00
Jérémie Bresson
b2bebe914e Update Unblu Logo (#1954) 2019-01-21 21:34:25 +08:00
William Cheng
b27d99088c minor update to the website (#1952) 2019-01-21 21:23:20 +08:00
William Cheng
38ea7952bb fix image urls 2019-01-21 11:13:12 +08:00
William Cheng
95a1ff1ab1 update base url to website 2019-01-21 10:14:03 +08:00
William Cheng
f415332406 update java default value (#1949) 2019-01-21 01:47:49 +08:00
Jérémie Bresson
06824622bf [html] Use ModelUtils to avoid NullPointerException (#1948) 2019-01-21 00:51:18 +08:00
eddy
c16354218a SCM and license parameters are now also for resteasy clients available. (#1934) 2019-01-20 23:01:48 +08:00
William Cheng
c51f333f6c update docs 2019-01-18 18:35:30 +08:00
Jim Schubert
6fe9a52229 [feat][docs][website] Initial docusaurus based site (#1770)
* Iniital docusaurus based site

* Remove error about default local being used by String.format

* Change pinned users to represent global presence rather than alphabetical order pinning

* Include generator indexes in ensure-up-to-date (docusaurus site and /generators/README)

* Add Font Awesome attribution footer

* Remove feature callout until it is completed

* Include NPM try it out section

* Improve "Getting Started" type docs

* Include new custom template documentation

* Updating templating and customization docs

* Add vendor extension docs

* Cleanup templating page(s).

* Move users to yaml file for easy edit.

* travis configuration, and baseUrl mods to image URLs

* [docs] Migrate FAQ, release summary  from wiki

FAQ has been split into multiple smaller documents to better categorize
and allow users to find what they're looking for (in docs folder or in
new website).

Release summary information (versioning strategy and cadence) has been
migrated from the Wiki and clarified a bit.

Also adds copy button for all code snippets in website.

* Copy current contributing/code of conduct to website

* [docs] Creating a new generator
2019-01-18 17:39:33 +08:00
Jérémie Bresson
9cba9b6f88 [Swagger-Parser] Update to version 2.0.8-OpenAPITools.org-2 (#1924) 2019-01-18 10:29:53 +01:00
William Cheng
4df8c3cf64 update csharp samples 2019-01-18 17:00:10 +08:00
Jyhess
17218117b9 Fix missing __init__.py (#1933) 2019-01-18 12:41:43 +08:00
Geoff Brown
f4133e726d Fixing response headers so that the values are turned into a comma delimted string instead of "System.String[]" (#1935) 2019-01-17 22:26:25 -05:00
William Cheng
7437084cd3 Add BIMData.io to company list 2019-01-17 22:11:29 +08:00
William Cheng
60323bf186 Add @Jyhess to Python tech committee 2019-01-17 22:09:39 +08:00
William Cheng
eee4849a5e use openjdk in shippable (#1929) 2019-01-17 12:26:26 +08:00
Max Inden
60ca0fb338 Add Prometheus/Alertmanager to README users list (#1926) 2019-01-16 22:00:44 +08:00
William Cheng
1676aefa8b [Java] Update okhttp version to the latest (#1897)
* update okhttp to latest version

* update templates to use okhttp3

* update java samples

* fix tests

* update tests under CI/samples.ci

* add tests to java client

* fix bin script to restore test files

* fix debugging

* add more tests and minor fixes

* update samples
2019-01-16 20:30:52 +08:00
Daniel Schreiber
192e366bff fixing wrong model file suffix when identical with model suffix (#1876)
relates to #1467
2019-01-16 18:23:14 +08:00
Nathan Broadbent
832b4ef512 Update README with FormAPI.io service (#1923)
We use openapi-generator to generate our API clients
2019-01-16 18:14:54 +08:00
na-o-ys
4117b2ebb1 [BUG][typescript-node] Generated package causes compilation errors (#1911)
* changed typescript-node build dir

* fixed missed json

* to pass integration test
2019-01-16 10:58:49 +08:00
William Cheng
e0137f670c Update Maven plugin README with new options (#1917)
Update Maven plugin README with new options
2019-01-16 10:32:28 +08:00
Silas Boyd-Wickizer
f5d6aaebb2 [TypeScript-Node] support setting the content-type header per-call (#1868)
* [TypeScript-Node] support setting the content-type header per-call

This approach is inspired by the typescript-fetch implementation in
swagger-codegen.

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

* Update modules/openapi-generator/src/main/resources/typescript-node/api-single.mustache

Co-Authored-By: silasbw <silasbw@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-node/api-single.mustache

Co-Authored-By: silasbw <silasbw@gmail.com>

* Update Petstore sample

* Fix types

* update "npm" petstore example

* Rename
2019-01-16 10:31:30 +08:00
Dec12 | Fujigon
df8137cf21 [JAVA][JAX-RS] don't forget to support @JsonValue for enum (#1833)
* don't forget to support JsonValue

* re-generate samples
2019-01-16 10:29:31 +08:00
Wouter
22ce88eb26 Fixed a small type (#1921)
This is a very little nitpick, but I hope it is useful anyway.
2019-01-16 10:21:23 +08:00
Akihito Nakano
dec852ca9f Add primitive type support (#1835) 2019-01-16 10:12:49 +08:00
William Cheng
03711d572f Rename graphql-server to graphql-nodejs-express-server (#1822)
* rename graphql server

* update windows batch file

* fix openpai3 shell script
2019-01-15 22:54:06 +08:00
sunn
963c002830 Update Readme for qt5 server (#1912) 2019-01-15 20:58:52 +08:00
William Cheng
2162d34ed7 Add Jyhess as the python aiohttp creator 2019-01-14 23:47:59 +08:00
Jim Schubert
db9102a440 Clean up file output handling (#1895)
* Clean up file output handling

This attempts to normalize all generators to use OS agnostic
File.separator.

It also cleans up some areas in code where we replace "." in full file
output path with File.separator. We should only be modifying directory
names we own, and should avoid modifying anything that can be provided
by a user.

It would probably be better to use Paths.get(…).toString() in all cases.

* Fix missed path separators in java codegen

* Adjust Java codegen path replacements

* Convert / in full path replacements, as / is forbidden in Windows, and noop elsewhere

* Use Paths.get where files are written, to better handle Windows path constraints
2019-01-14 22:49:39 +08:00
William Cheng
d2769e646e Add more patreon links
Add more patreon links
2019-01-14 22:13:36 +08:00
Akihito Nakano
b4fecd9f9e Remove unnecessary override (#1906) 2019-01-14 20:58:51 +08:00
Akihito Nakano
7674d11d75 Fix missing RequestBody.required of inline request body (#1847)
* Add test case that reproduce the issue #1782

* Fix missing RequestBody.required

* Update samples

./bin/utils/ensure-up-to-date

* Run ensure-up-to-date script

./bin/utils/ensure-up-to-date
2019-01-14 12:28:21 +08:00
こまど
1be9d66911 Add a link to @ky-yk-d article (#1903) 2019-01-14 13:15:00 +09:00
William Cheng
28c9b11195 Update issue checklist with an item to validate the input
Update issue checklist with an item to validate the input
2019-01-13 14:16:15 +08:00
William Cheng
470fc2065d better NPE handling for undefined request body (#1896) 2019-01-13 12:25:35 +08:00
William Cheng
4235390175 Add links to Patreon account (#1887) 2019-01-12 10:57:44 +08:00
Jyhess
80ca67cfda Python AIOHTTP server generator (#1470)
* Astract factory for generators based on connexion

* Add aiohttp server generator

* Fix flask tests

* Normalize python-flask folder names
2019-01-11 23:35:21 +08:00
Akihito Nakano
4652023b7c Fix a problem that points to a folder that doesn't exist (#1863)
* Add test case that reproduce issues

* Fix a problem that points to a folder that doesn't exist

* Improves for windows

* Run ensure-up-to-date script

./bin/utils/ensure-up-to-date
2019-01-11 19:16:45 +08:00
Jacob Floyd
00a9cfdbc9 Python: Update api_doc_example for multiple auth (#1870)
APIs may more than one auth method (for example both an app key and basic auth).
This changes the example to only initialize the config option once instead of once per auth method.
2019-01-11 19:15:03 +08:00
Jim Schubert
4fa926604f [gradle] Add 4 boolean properties supported by codegenConfigurator (#1881)
* [gradle] Add 4 boolean properties supported by codegenConfigurator

* [gradle] Add Windows workaround for Android Studio

After release 3.0.0, a guava dependency was updated and this exposed an
issue in Windows where Guava's CharMatcher.ASCII is called to validate a
path. The version of Guava referenced by OpenAPI Generator causes a
'NoSuchField' error because the referenced dependency names this static
field CharMatcher.Ascii.

This error is not surfaced on macOS, and appears to be Windows-specific.

This adds a potential workaround to the Gradle plugin's readme.

See #1818 for more details.
2019-01-11 19:14:05 +08:00
Jérémie Bresson
8305df6b4a [java-client][okhttp-gson] no oauth2 usage when hasOAuthMethods is false (#1872)
* Fix Javadoc error

* [java-client][okhttp-gson] no oauth2 usage when hasOAuthMethods is false
2019-01-10 22:00:45 +08:00
Sebastian Rühl
faf1f5d81d [BUG-1848] Remove redundant right parenthesis (#1864) 2019-01-10 02:33:16 +08:00
Jérémie Bresson
d584833781 Support for "x-enum-descriptions" (#1752) 2019-01-10 00:47:55 +08:00
William Cheng
992ca3e8ed Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-01-09 23:49:50 +08:00
William Cheng
12a5ba2bee add new sample files 2019-01-09 23:49:34 +08:00
William Cheng
814a697c81 Add a checklist to issue report (#1851) 2019-01-09 10:14:56 +01:00
sunn
3b7f4c3879 Fix typo in template (#1859) 2019-01-09 16:13:10 +08:00
William Cheng
b87a507a13 update samples 2019-01-09 15:57:31 +08:00
Hemant Zope
87d5484f2e add isModel to updatebooleanflagwithcodegenproperty (#1844) 2019-01-09 11:22:51 +08:00
William Cheng
581bac83e9 Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-01-09 11:19:48 +08:00
William Cheng
8539831126 Merge remote-tracking branch 'origin/restore_c_test' 2019-01-09 11:19:21 +08:00
Justin Black
539ec23298 [python-client] Add model default values (#1776)
* Adds two models to the v2.0 spec, uses examples as defaults in python client

* Adds array default and type_holder_default and type_holder_example tests

* Re-generated python security client with ./bin/security/python-petstore.sh

* Changes comment text, rebased master

* Updates client + server samples

* Adds missing samples updates

* Changes python client to look for true or false with booleans in toDefaultValue

* Changes boolean casting to use Boolean.valueOf

* Adds deserialization fix for python tests

* Changes Mock to namedtuple in python deserialization tests

* Actually remove unittest.mock
2019-01-09 11:18:35 +08:00
Daisuke Shimada
189849319c fix: force to decode as utf-8 when header contains application/json to avoid text garbling. (#1700)
* fix: force to decode as utf-8 when header contains application/json to avoid text garbling.

The original processing is using `response.body` to deserialize as json.
However, this is decoded by latin1 if the header contains only "application/json" instead of "application/json; charset=utf-8".

Because of this behavior, if the response body is encoded UTF-8 but the headers doesn't contain charset, the body will garbling.

cf: https://github.com/dart-lang/http/issues/175

Since playframework 2.6 returns "Content-Type: application/json" without "charset=utf-8", I changed this parsing algolithm.

* fix: force to decode as utf-8 when header contains application/json to avoid text garbling on error.
2019-01-09 11:08:35 +08:00
William Cheng
60dd3d51be Better support for composed schema (allOf) (#1842)
* better support for composed schema

* remove commented code
2019-01-09 10:50:02 +08:00
Adrian Price
4c14c85542 Add additional properties to Java CodegenModel (#1854)
Fixes the first part of https://github.com/OpenAPITools/openapi-generator/pull/1729#issuecomment-451991109 (see https://github.com/OpenAPITools/openapi-generator/pull/1729#issuecomment-449937728). The second part was fixed by https://github.com/OpenAPITools/openapi-generator/pull/1845 (commit d65dd763d8).
2019-01-09 10:49:43 +08:00
FallenRiteMonk
9331df791f Minor Angular type improvements (#1843)
Update api.service.mustache

update samples
2019-01-09 00:30:37 +08:00
d3v-cl
9ccf872290 [DART] fix: set fields to null if json value is null. (#1798)
* fix: set fields to null if json value is null.

* rebuild dart2 petstore

* rebuild dart petstore

* rebuild petstore

* [DART]fix: set fields to null if json value is null.
2019-01-09 00:26:46 +08:00
William Cheng
293066bb0d add options to maven plugin (#1845) 2019-01-08 21:32:51 +08:00
William Cheng
fbf570e7bd fix unqiue name in handling forward slash (#1839) 2019-01-08 07:51:25 +08:00
William Cheng
ed5bd5ffb0 better handle of oauth (#1838) 2019-01-08 07:51:02 +08:00
Hemant Zope
233ce093e5 [C] Support for authentication methods (#1628)
* added auth support in apiClient

* added httperror response in detail

* added apikey to apiClient create

* remove unnecessary print statements

* remove freeing of apiclient object from apiclient_free function

* added auth params to apiClient_free function

* free only received data and apiClient object to be freed by user
2019-01-07 23:31:42 +08:00
William Cheng
b7971e2e3d better error message when parameter ref not defined (#1837) 2019-01-08 00:29:13 +09:00
William Cheng
1ef56b44c2 Add links to articles about openapi generator 2019-01-07 22:54:43 +08:00
William Cheng
22a3f7ee0e Add a link to @watiko article 2019-01-07 22:45:46 +08:00
Akihito Nakano
6e4556772c Delete langs command (#1836)
* Delete langs command

* Delete "langs" from docker entrypoint script

* langs -> list

* langs -> list
2019-01-07 08:57:05 -05:00
William Cheng
549197cce5 restore c test 2019-01-07 19:01:00 +08:00
William Cheng
60776b8cb5 deprecated initialCaps (#1821) 2019-01-07 17:47:07 +08:00
sredbull
eff0c5e8d0 Added proper error response (#1814) 2019-01-07 12:19:50 +08:00
sredbull
1189362466 [JavaScript] Added plugins variable for the javascript/ES6 client (#1797)
* Added plugins variable for the javascript/ES6 client

* Ran the javascript and javascript-es6 shell script
2019-01-07 12:18:03 +08:00
William Cheng
f0f214743e Use JS ES6 as the default (#1825)
* set JS ES6 as the default

* update doc
2019-01-07 11:43:11 +08:00
sunn
651395d426 Update base class due to failed compilation in case of plain object type with no properties or additionalProperties specified (#1826) 2019-01-06 18:20:23 +01:00
sunn
fda35ea263 Fix missing const keyword in array and maps (#1828) 2019-01-06 18:19:08 +01:00
sunn
c65ef987af Emit worker also in response signal (#1829) 2019-01-06 18:18:20 +01:00
William Cheng
b015ac9307 use 4-space instead of tab in perl templates (#1830) 2019-01-07 00:22:24 +08:00
Akihito Nakano
bdf32775fb Add test cases for ExampleGenerator (#1802)
* Add test case : generateFromResponseSchemaWithArrayOfModel

* Add test case : generateFromResponseSchemaWithArrayOfPrimitiveTypes

* Add test case : generateFromResponseSchemaWithModel

* Add test case : generateFromResponseSchemaWithNoExample

* Use String.format for windows

* Specify locale to prevent issues due to locale
2019-01-06 13:27:27 +09:00
William Cheng
1a2deb016b Fix security issue with dependencies (#1820)
* fix security issue with dependency

* update samples

* update pom and sample
2019-01-05 23:30:59 +08:00
William Cheng
b25eeebf03 Update Elixir technical committee 2019-01-05 19:18:49 +08:00
William Cheng
8f561f1ef3 [C#][Refactor] Fix nullable required property in the constructor (#1819)
* add serialization test, fix nulllable reuqired

* remove vs folder
2019-01-05 18:54:29 +08:00
Marco
b931da2909 [java][webclient] Register Jackson modules on ObjectMapper (#911)
* [java][webclient] register jackson modules on object mapper

* Regenerate client

* Removed findAndRegisterModules() call

* ObjectMapper is initialized only if NOT provided by client

* Remove (now) useless DateFormat inside buildWebClient signature and regenerate client
2019-01-05 18:29:49 +08:00
Yuriy Belenko
fa9bd1f567 [Slim] Add ApiKey and OAuth authentication middleware (#1207)
* [Slim] Add fork of token middleware

This commit will be dropped, when official repo approves submitted PRs.
Right now it's for test purposes only.

* [Slim] Adds token middleware to template

* [Slim] Move auth implementation to external classes

* [Slim] Update readme

* [Slim] Add config example

* [Slim] Remove deprecated package

Considered to use dyorg/slim-token-authentication for all authentication
schemes. User needs to decode and parse Basic token himself, but it's
pretty simple task and there are many code examples in
the web. Most of time solution is two lines of code.

* [Slim] Format phpdoc comments

I've changed PHP version to 7 and updated comments to follow  main
recommendations. Used PHPCodesniffer rules are Generic.Commenting,
Squiz.Commenting, PEAR.Commenting. Of course I applied only reasonable
sniffs from this standards.

@category tag has been deleted as deprecated accordingly to
phpDocumentor offical docs.

Ref: http://docs.phpdoc.org/references/phpdoc/tags/category.html

* [Slim] Refresh samples
2019-01-05 11:32:23 +09:00
William Cheng
d35f4b08d9 Fix various typos in the templates (Ruby, C#) (#1803)
* Fix typos

* update petstore samples
2019-01-05 09:39:10 +08:00
Erik Timmers
be262384cd Change renamed user @trenneman to @eriktim (#1809) 2019-01-04 11:49:50 +08:00
William Cheng
5729ce176c Add GenFlow to the company/project list (#1806) 2019-01-04 00:39:41 +08:00
William Cheng
3d59d8b58f Add GenFlow to the company/project list 2019-01-03 22:31:10 +08:00
Tomer Cohen
59db7cc568 remove unnecessary words from migration-from-swagger-codegen.md (#1791)
Removed 'an existing '.
2019-01-03 18:53:58 +08:00
William Cheng
ad5184efc1 Add process utils class to add index to properties (#1796)
* add process utils to add index to properties

* fix javadoc warning
2019-01-03 16:06:22 +08:00
William Cheng
92db181d97 Fix Shippable CI (#1799)
* comment out apt-get update

* test php slim in travis

* comment out php verison check
2019-01-03 16:04:35 +08:00
Jim Schubert
8fd474d4a7 [gradle-plugin] Fix test, ensure tests run in CI (#1789)
* Update GenerateTaskDslTest to remove "Pets" array model which is no longer generated
* Ensure check on uploadArchives task
2019-01-02 17:15:01 +08:00
Akihito Nakano
af6757ccde Refactor InlineModelResolver (#1788)
* Extract a method "flattenPaths" to reduce the scope of method

* Tweak

* Rename parameter name

* Extract a method "flattenModels" to reduce the scope of method

* Rename parameter name

* Rename: models -> components

* Delete comment

* Extract a method "flattenRequestBody" to reduce the scope of method

* Extract a method "flattenParameters" to reduce the scope of method

* Extract a method "flattenResponses" to reduce the scope of method

* Tweak types

* Reduce indentation
2019-01-02 17:14:34 +08:00
Akihito Nakano
9334dd391a Improve test codes of InlineModelResolver (#1787)
* Delete unnecessary "throws"

* Delete unnecessary cast expressions

* Tweak redundant assertions

* Delete unnecessary comment
2019-01-01 13:14:23 +09:00
Akihito Nakano
d6fa9e60c6 Add test case for InlineModelResolver: arbitrary models (#1786)
* Add test case : arbitraryObjectModelInline

* Delete legacy test case : testArbitraryObjectModelInline

* Add test case : arbitraryObjectModelWithArrayInlineWithoutTitle

* Delete legacy test case : testArbitraryObjectModelWithArrayInlineWithoutTitle

* Add test case : arbitraryObjectModelWithArrayInlineWithTitle

* Delete legacy test case :
testArbitraryObjectModelWithArrayInlineWithTitle

* Add test case : emptyExampleOnStringTypeModels

* Delete legacy test case : testEmptyExampleOnStrinngTypeModels
2019-01-01 11:51:20 +09:00
Akihito Nakano
6abb9ddf30 Add test case for InlineModelResolver: arbitrary response (#1785)
* Add test case : arbitraryObjectResponse

* Delete legacy test case : testArbitraryObjectResponse

* Add test case : arbitraryObjectResponseArray

* Delete legacy test case : testArbitraryObjectResponseArray

* Add test case : arbitraryObjectResponseArrayInline

* Delete legacy test case : testArbitraryObjectResponseArrayInline

* Add test case : arbitraryObjectResponseWithAdditionalProperty

* Delete legacy test case : testArbitraryObjectResponseMapInline
2019-01-01 10:27:52 +09:00
Akihito Nakano
e559474880 Add test case for InlineModelResolver: arbitrary request body (#1784)
* Uncomment a valid test case

* Add test case : inline request body with title

* Delete legacy test case

* Delete unused import

* Delete legacy test case which is already implemented by other test

see InlineModelResolverTest#resolveInlineArrayResponseWithTitle()

* Delete legacy test case which is covered by other test

* Add test case : arbitraryObjectBodyParam

* Delete legacy test case : testArbitraryObjectBodyParam

* Add test case : arbitraryObjectRequestBodyProperty

* Delete legacy test case : testArbitraryObjectBodyParamInline

* Add test case : arbitraryRequestBodyArray

* Delete legacy test case : testArbitraryObjectBodyParamWithArray

* Add test case : arbitraryRequestBodyArrayProperty

* Delete legacy test case
2019-01-01 07:28:29 +09:00
Akihito Nakano
354db2f3e6 Fix: Inline models can't be generated (#1768)
* Add a test case

* Fix that the inline models couldn't be flatten when "components" doesn't exist

* Rename yaml file

* Rename method name
2018-12-31 17:00:28 +08:00
Akihito Nakano
f96e64bd9e Add test case for InlineModelResolver: inline object response with additionalProperties (#1781)
* Add test case : inline object response with additionalProperties

* Delete legacy test case
2018-12-31 14:36:30 +08:00
William Cheng
3ec90a86cb Add an option to generate the alias (map, array) as model (#1729)
* add option to generate alias as model

* fix issue due to incorrect merge
2018-12-31 11:59:58 +08:00
William Cheng
2f6381cb19 Add nullable support to C# client (refactor) (#1775)
* add nullable support to c# client (refactor)

* clean up methods

* move typemapping to constructor
2018-12-31 10:44:02 +08:00
Akihito Nakano
5730f6224a Delete unused method (#1744)
* Delete unused method

* Delete unused property "typeMapping"

* Delete unused "import" declaration
2018-12-31 10:10:07 +08:00
Christophe Bornet
0fca90133c Use JsonNullable wrapper on nullable/x-nullable fields (#1762)
* Use JsonNullable wrapper on nullable/x-nullable fields

Fix #1250

* update samples
2018-12-31 10:04:26 +08:00
William Cheng
2c051f265c Add an option to use reflection in equals, hashCode (Java client) (#1767)
* add option to use reflection in equals, hashcode (java)

* add model test template to java client only

* update pestore samples

* update java samples

* update doc

* update usage, remove unused file
2018-12-31 10:03:05 +08:00
Yuriy Belenko
e8ac630ca5 [Slim] Encode path to support non-latin characters (#1687)
* [Slim] Add encodePath method

* [Slim] Add tests for encodePath method

* [Slim] Use unescaped path in router

Both variables basePathWithoutHost and path are already urlEncoded in
codegen itself. Builtin html encoding in mustache is redundant. We can
use these raw codegen values with no fear.

* [Slim] Refresh samples
2018-12-31 10:02:45 +08:00
Erik Timmers
a0e5b74b2b [elm] Add support for sending headers (#1704) 2018-12-31 09:58:45 +08:00
Akihito Nakano
321416e960 Add test case for InlineModelResolver: inline array response (#1778)
* Add test case : inline array response

* Add test case : inline array response with title

* Delete legacy test cases
2018-12-30 17:53:36 +09:00
William Cheng
2e727f6dc7 fix group parameter logic (#1779) 2018-12-30 16:50:21 +08:00
Akihito Nakano
7cee999543 Add test case for InlineModelResolver: inline array request body (#1777)
* Add test case : inline array request body

* Delete legacy test case

* Tweak code format

* Delete unused import
2018-12-30 12:12:50 +09:00
Akihito Nakano
77b5cea518 Add test case for InlineModelResolver: inline array schema (#1772)
* Add test case

* Delete legacy test case

* Add a test case: inline array schema

* Delete legacy test case

* Fix test yaml
2018-12-30 10:32:02 +09:00
Akihito Nakano
6a4f3385d8 Fix type inference error (#1773)
* Fix type inference error

* Update samples

bin/openapi3/kotlin-client-petstore.sh
bin/kotlin-client-petstore.sh

* Update samples
2018-12-29 12:14:34 -05:00
William Cheng
e821a58fd1 skip default value for contaier in spring (#1725) 2018-12-29 18:50:10 +08:00
Yuriy Belenko
5400a7e445 [Slim] Add PHP CodeSniffer config template (#1764)
* [Slim] Add PHP_CodeSniffer config template

* [Slim] Update doc

* [Slim] Add local configs to gitignore

PHPUnit and PHP_CodeSniffer provides the same developing pattern when
user overrides global config with local one. In local config he can
set environment variables. Official doc recommends to not commit local
config files.

* [Slim] Remove phpcsStandard CLI option

Now user have full freedom to override config file. This option is not
used and not necessary anymore.

* [Slim] Refresh samples
2018-12-29 15:58:15 +09:00
William Cheng
1db105b6f9 Use CompareNetObject for object comparison in C# client (refactor) (#1765)
* add pet, array of array test, use CompareNetObject for comparision

* add an option, should trigger ci failure

* update doc

* use useCompareNetObjects in csharp-refactor petstore

* fix project template
2018-12-29 14:45:49 +08:00
Akihito Nakano
06a67ce6e4 Add test case for InlineModelResolver (#1771)
* Add a test case of resolving inline request body

* Delete legacy test case

* Add a test case of resolve inline request body with required

* Delete legacy test case
2018-12-29 14:38:46 +09:00
Christophe Bornet
5952bec6bf Add online gen tests (#1759) 2018-12-28 14:18:43 +08:00
Akihito Nakano
5f2d79b669 Resolve inline models before preprocess (#1761) 2018-12-28 11:13:30 +08:00
William Cheng
177deb918a better handling of allOf (composition) (#1757) 2018-12-27 16:01:18 +08:00
Akihito Nakano
5d98fc6beb Fix UUID support (#1746)
* Add custom type adapter to deserialize UUID

* Update samples

./bin/kotlin-client-threetenbp.sh
./bin/kotlin-client-string.sh
./bin/kotlin-client-petstore.sh
2018-12-27 08:59:57 +09:00
Daiki Matsudate
292d987f15 Use appInfo.version for podspec (#1760) 2018-12-27 00:19:29 +08:00
Daiki Matsudate
c2273a651a [Swift 4] Add createURLRequest method (#1727)
* add create URL Request method

* add comment
2018-12-27 00:19:11 +08:00
William Cheng
902a4b4099 remove self-reference import (#1758) 2018-12-26 18:11:26 +08:00
Daiki Matsudate
c13e089c85 [swift4] Use RequestBuilder directly for RxSwift and PromiseKit (#1718)
* remove default implementation

* avoid insert blank lines
2018-12-26 18:01:26 +08:00
William Cheng
c62a1f11ee maven dep version update (#1754) 2018-12-26 10:53:53 +08:00
Akihito Nakano
aa1cfd81fe Minor fixes for InlineModelResolver (#1756)
* Delete unused methods

* Improve access modifiers declaration

* InlineModelResolver#flatten can be package-private

* Delete unused import declaration

* Sort properties
2018-12-26 10:53:39 +08:00
William Cheng
e4f80dcc0e various fix for free-form object (#1751) 2018-12-26 10:38:07 +08:00
William Cheng
120c0a05f0 Restore Ruby tests after parser update (#1753)
* uncomment ruby test after parser update

* remove comment
2018-12-26 10:36:58 +08:00
zigen
7595baef00 Fix composed oneof type 1749 (#1750)
* add test to check that DefaultCodegen generates composed oneof schema properly

* fix composed-oneof type generation bug (#1749)
2018-12-24 17:46:42 +08:00
William Cheng
0dee995ebb Fix discriminator name not following variable naming convention (#1742)
* fix discrimintator name not following variable naming convention

* fix test

* update samples

* use discriminator name directly in php

* single quote array index
2018-12-24 10:17:43 +08:00
tanmen
aed2c882da add nullable support to typescript-axios (#1743) 2018-12-24 00:59:13 +08:00
Jim Schubert
92badd8d49 [kotlin-spring] Allow DateTime to be remapped to others (LocalDateTIme) (#1740) 2018-12-24 00:34:47 +08:00
Yuriy Belenko
72dcee9d86 [Slim] Abstract API controllers (#1483)
* [Slim] Add abstract prefix to API controllers

* [Slim] Add userClassname property to codegen

* [Slim] Add src folder to Composer autoload

* [Slim] Change template to produce abstract controllers

* [Slim] Update API tests template

* [Slim] Add implementation note

* [Slim] Remove deprecated AbstractApiController

* [Slim] Refresh samples
2018-12-23 23:51:26 +08:00
Akihito Nakano
f1831533d4 [Java] Update dependencies (#1735)
* Update retrofit2

refs:
https://nvd.nist.gov/vuln/detail/CVE-2018-1000850
https://nvd.nist.gov/vuln/detail/CVE-2018-1000844

* Update samples

./bin/java-petstore-all.sh

* Implement okhttp3.Call#timeout

refs https://github.com/square/okhttp/pull/4363

* Update samples

./bin/java-petstore-all.sh

* Update Play26CallFactory

* Fix indent
2018-12-23 19:03:50 +08:00
Akihito Nakano
05107032d1 Fix missing closing parenthesis (#1739)
* Add a script to generate kotlin client samples from OAS3

* Generate kotlin client

* Fix missing closing parenthesis

* Update samples

* Add build folder to gitignore
2018-12-23 09:54:51 +09:00
William Cheng
2ccfdc8e5d Add C# client (refactor) to Appveyor CI (#1738)
* add c# client (refactor) to CI

* fix typo
2018-12-23 08:08:05 +08:00
Jim Schubert
13f5064ea4 Update auto-labeler.yml (#1741)
Change wording about reviewing the labels, so it doesn't sound like the user should apply labels (they can't).
2018-12-23 08:07:11 +08:00
William Cheng
667275fb25 Fix C# client warnings (#1737)
* fix csharp warnings

* fix incorrect line break removal
2018-12-23 08:06:55 +08:00
Jérémie Bresson
a7dfc650b6 Swagger parser update: 2.0.8-OpenAPITools.org-1 (#1721)
* Update Swagger-Parser Version

* Update samples

* surpress javadoc warning

* fix TS tests

* Set version to 2.0.8-OpenAPITools.org-1
2018-12-22 18:12:08 +08:00
Steven Masala
43abd61144 Typescript nullable (#1730)
* fix name sanitation when using kebab case filenaming

* remove whitespaces

* nullable

* remove test comment
2018-12-22 16:49:44 +08:00
William Cheng
2a11f55267 Re-enable the rust reqwest client test 2018-12-22 16:30:19 +08:00
William Cheng
77edec0c65 Revert "[Rust] Support formParams and fix list-params." (#1732)
* Revert "Disable rust-reqwest petstore test"

This reverts commit 9e1cce2e7b.

* Revert "Fix various CI issues (#1722)"

This reverts commit 77270a0118.

* Revert "[Rust] Support formParams and fix list-params. (#1678)"

This reverts commit 4a494b45d3.
2018-12-22 16:28:55 +08:00
William Cheng
9e1cce2e7b Disable rust-reqwest petstore test 2018-12-21 10:52:58 +08:00
William Cheng
77270a0118 Fix various CI issues (#1722)
* fix shippable failure

* fix warning in javadoc, test ruby in shippable

* update mvn command

* move ruby test to circleci

* remove additional option
2018-12-21 10:16:31 +08:00
Marco Farrugia
4a494b45d3 [Rust] Support formParams and fix list-params. (#1678)
* [Rust] Support formParams and fix list-params.

Form params were previously unsupported, and list-params would produce code that didn't compile.

* update rust samples
2018-12-21 10:08:00 +08:00
Jim Schubert
10ecc0e52f [csharp-refactor] Minor csharp refactor changes (#1723)
* [csharp-refactor] Minor changes to JSON mime usage

🐎 This maeks the regex static to reduce GC overhead for active clients.
This also removes the lowercase call on the mimetype before evaluating,
as the regex already uses the inline modifier for case insensitivity.

* [csharp-refactor] Regenerate sample
2018-12-21 09:57:38 +08:00
Tomasz Prus
89a0ffa66c feat: [python/asyncio] use ssl argument instead of ssl_context (deprecated from aiohttp>=3.0.0) (#1724) 2018-12-21 09:52:27 +08:00
Jérémie Bresson
d38b9e588b [core] support for 'x-enum-varnames' for enums in arrays (#1703) 2018-12-20 16:30:34 +01:00
William Cheng
b6e80e86b2 Add nullable support to JAXRS-CXF parameters (#1679)
* add nullable support to jaxrs cxf parameters

* remove end of file line break

* fix default value for list

* update samples
2018-12-20 16:07:45 +08:00
William Cheng
f188fa08e5 fix enum and map of neum (regression) (#1706) 2018-12-20 16:07:22 +08:00
William Cheng
93c13074ff various fixes to csharp refactor client (#1711) 2018-12-20 16:06:29 +08:00
Daiki Matsudate
9ff8a24895 fix description (#1710) 2018-12-20 15:55:29 +08:00
gndrm
98ae7a816c Introduced GeneratorProperties as a thread-safe clone of System Properties (#1598)
* Introduced GeneratorProperties as a thread-safe clone of System Properties

* Removed unnecessary SmartBear copyright
2018-12-19 21:46:05 +08:00
Jim Schubert
2025d128b3 Creating regex for our generators which will allow the bot to au… (#1639)
* WIP: creating regex for our generators which will allow the bot to automatically label issues and PRs

* Include additional WIP regex

* Remainder of implemented generators

* Add tests for regex in auto labeling
2018-12-17 17:56:00 +08:00
William Cheng
81cf611aa4 add nullable support to perl api parameter (#1690) 2018-12-17 17:11:23 +08:00
William Cheng
d7d994620c Add multiple inheritance support to Perl client (#1681)
* add multiple inheritance support to perl client

* remove allof test from fake petstore
2018-12-17 15:28:20 +08:00
William Cheng
b6a23986b3 fix java instantiated lists (#1683) 2018-12-17 14:42:04 +08:00
Joe Elliott
33fbd9c78b [Swift] Updates for Swift 4.2 (#1443)
* [Swift] Update Alamofire version and update tests and Swift version to 4.2 for default and RxSwift variants

* Update promiseKit for Swift 4.0

* Update project files.

* Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator into OpenAPITools-master

# Conflicts:
#	samples/client/petstore/swift4/default/SwaggerClientTests/SwaggerClient.xcodeproj/project.pbxproj

* Merge in latest master

* Remove typo in bash file
2018-12-17 15:41:06 +09:00
Yuriy Belenko
3896821d5e [Slim] Add phplint cache to gitignore (#1686)
* [Slim] Add phplint cache to gitignore

* [Slim] Refresh samples
2018-12-17 14:21:39 +08:00
William Cheng
fb15a4baf3 [core] Update parser and core to latest version (#1569)
* Update swagger-parser to 2.0.7
* Update swagger-core to 2.0.6
2018-12-17 06:56:46 +01:00
William Cheng
c05dc24e6a Mark swift3 generator as deprecated (#1675)
* mark swift3 as deprecated

* update windows batch scripts
2018-12-16 19:20:37 +08:00
David Cloutier
06150767f4 Proposed fix for issues #1654. fix isSerializable for java jaxrs-cxf (#1656)
* Update model.mustache

fix serializable import for cxf-cdi

* Update pojo.mustache

add implements to the pojo if isSerializable is true

* Update model.mustache

add import statement to fix compile issue when {{#serializableModel}} is true

* Update pojo.mustache

remove extra space to prevent unecessary diffs in petstore examples: diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/*
2018-12-15 17:04:45 +08:00
Dec12 | Fujigon
7609398150 Fix the bug header bean validation is not performed (#1661)
* update template

* update template

* update samples
2018-12-15 16:37:25 +08:00
meganemura
82fcde1d91 Improve model class of ruby-client (#1670)
* Add Model.build_from_hash

* Use Model.build_from_hash instead of Model.new.build_from_hash

* Update sample for ruby-client

* Update sample for openapi3 ruby-client
2018-12-15 16:24:03 +08:00
Nicolas Ochem
cacce1f707 fix typo in README (#1677)
Fix typo in README
2018-12-15 16:23:48 +08:00
William Cheng
8c599ebf12 Add support for multiple inheritance (#1664)
* add all parent names

* clean up supportsInheritance

* fix npe

* fix allVars, fix test cases

* add more tests, remove comments

* update docker m2 cache dir, add more tests, fix mandatory

* update samples

* regenerate js spec files

* add logic to detect self reference

* add isSelfReference flag to codegen property

* add ruby tests for cat model

* remove debugging info

* fix JS allvars not have x-js-doctype

* update samples

* update js samples
2018-12-15 00:24:36 +08:00
William Cheng
587bd56655 add mavencentral to build.gradle (#1674) 2018-12-15 00:22:11 +08:00
Jim Schubert
1f95b54cef Include mavenCentral in java build.gradle (#1653)
the android dep is currently missing from jcenter. This adds
mavenCentral as an additional repository to the default java generator's
build.gradle.
2018-12-14 21:23:06 +08:00
ccozzolino
95c744381b [JAVA][Server] Fixed issue #1525: Fix model class field initializations (Regression since 3.3.1) (#1549)
* Fixed issue #1525. Adjust class field declarations with proper initializations.

* Adjusted templates to add default only when it is exists.
2018-12-13 01:11:47 +08:00
Jean-François Côté
0b029088f4 Add Stingray to company using openspi-generator 2018-12-10 09:48:28 -05:00
William Cheng
66cff2b05a fix alias to free form object & map (#1638) 2018-12-10 22:46:41 +08:00
feihongmeilian
489c404783 Add instructions for erlang-server (#1643) 2018-12-10 17:45:19 +08:00
Denis Korenevskiy
a27224e50d [php] bugfix: Array and Map inner schema definition can be missing. (#1586) 2018-12-10 17:43:44 +08:00
William Cheng
98aa5f8db2 add erlang-proper to shippable CI (#1642) 2018-12-10 17:43:00 +08:00
Juan Facorro
87bc9d436f Introduce optional weight function for commands and other improvements (#1618)
* Generator erlang-proper

Used to generate PropEr generators for property-based testing

* Rearrange *_statem.erl functions and remove *_statem.hrl

* Optional weight function

* Optional argument to override generated values

* Export function with arity 1

* Move syntactic sugar to header file

* Only provide body when its allowed

* The weight function should not depend on the state
2018-12-10 11:41:12 +08:00
Jim Schubert
5b91d40a8a Update issue templates (#1636)
This updates issue templates to support auto-labeling, and multiple issue formats.
2018-12-10 11:30:55 +08:00
Akihito Nakano
f19794464b Delete --lang option (#1592)
* Delete --lang option

* Fix -l

* Fix -l flag (windows)

* Add migration guide

* Change to -g

* Remove lang option

* Change to -g
2018-12-09 19:26:51 +09:00
Akihito Nakano
7e3e9dba11 Replace Class.newInstance() with Constructor.newInstance() (#1635) 2018-12-08 22:31:57 +08:00
John Bush
c4f0521e10 Fix escaped regex values in Python client (#1517). (#1539)
* Fix escaped regex values in Python client (#1517).

* Override PythonClientCodegen toRegularExpression() method to correct
  issue with backslashes being escaped. This issue was a result of
  calling escapeText() in the parent DefaultCodegen class.

* Only escape unescaped forward slashes in PythonClientCodegen.

* Override addRegularExpressionDelimiter in PythonClientCodegen.java
  such that only unescaped forward slashes in the pattern get escaped.
* Adds a new test resource .yaml file for specifically testing this
  issue.

* Check for regular expression modifiers in PythonClientCodegen.

* Adds check in postProcessPattern() in PythonClientCodegen.java to
  check if regular expression has modifiers defined. If so, it throws an
  exception as modifiers are not currently supported in the Python
  client.

* PythonClientCodegen warns that regex modifiers are not supported.

* Changes behavior in PythonClientCodegen.java to no longer throw an
  IllegalArgumentException in the case that a pattern contains
  modifiers. A warning message will be logged instead stating that
  modifiers are not currently supported by the codegen class.

* Remove warning for PythonClientCodegen regex modifier support.

* Removes warning message from PythonClientCodegen.java stating that
  regular expression modifiers are not currently supported. Further
  code review and testing revealed that this feature is already
  supported and working.

* Add updated Python client sample files.
2018-12-08 11:32:55 +08:00
Phil Adams
2d39f14882 Fix NPE in ModelUtils.isFreeFormObject() (#1625)
Fixes #1696

An object schema containing no properties that also has additionalProperties
set to an object schema with no properties will cause
ModelUtils.isFreeFormObject to throw an NPE.
This PR adds additional checking to avoid the NPE.
2018-12-07 23:16:58 +08:00
William Cheng
2f4bea6967 remove isNotContainer (#1629) 2018-12-07 23:10:35 +08:00
Akihito Nakano
b84ec60306 Add ASKUL (#1631)
* Add ASKUL

* Update link
2018-12-07 23:05:26 +08:00
Benjamin Gill
2a4fe5bc0e @metaswitch is now using openapi-generator (#1632) 2018-12-07 22:23:53 +09:00
Tomek Cejner
922532da6a [core] Prevent NPE when enpoint did not define responses (#1617) 2018-12-07 11:57:16 +01:00
William Cheng
774013c7e1 Better OpenAPI spec v3 support: allOf, anyOf, oneOf (#1360)
* add oneOf support to Ruby

* add anyOf support to ruby client

* add discriminator support to ruby client

* fix typo

* update samples, fix NPE

* better format in ruby generator

* fix test cases, disable mapping test

* fix update script, update samples

* add test, fix mapping

* update exit code

* reenabled discriminator test

* remove duplicated properties

* add test for duplicated properties

* update samples, add new spec

* fix ruby test cases

* fix hasMore after removing duplicates

* refactor method, comment out haskell client test

* fix hasMore and update samples

* fix parent detection

* fix discriminator check

* [haskell-http-client] need to use {{vars}}{{required}} instead of {{requiredVars}}

* remove deprecated methods in default codegen (#1031)

* regenerate samples

* remove commented code
2018-12-07 00:30:20 +08:00
Erik Timmers
c0634ac213 [elm] Enable setting Http request trackers (#1609) 2018-12-06 23:41:44 +08:00
William Cheng
92d60b684a update samples 2018-12-06 18:58:21 +08:00
Jaumard
d40cbf9dbd add default timeout to calls (#1596)
add properties to send or not null values
update deps
2018-12-06 18:34:01 +08:00
William Cheng
d57009d14d Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2018-12-06 17:22:19 +08:00
Atsushi Hanaoka
ced6e0502e [typescript] Avoid strictNullChecks errors for apiKeys (#1611)
* [typescript] Avoid strictNullChecks errors for apiKeys

fix #1607

* Run ./bin/{LANG}-petstore.sh

- ./bin/typescript-angular-petstore-all.sh
- ./bin/typescript-inversify-petstore.sh

* Run ./bin/security/{LANG}-petstore.sh

- ./bin/security/typescript-angular.sh
- ./bin/security/typescript-angular2.sh
- ./bin/security/typescript-inversify.sh

* [typescript] Fix parameter name sanitization

* Fix invalid consumes of petstore-security-test.yaml

* Run ./bin/security/typescript-*.sh
2018-12-06 17:10:45 +08:00
William Cheng
314b4cc54f remove deprecated methods in default codegen (#1031) 2018-12-06 16:17:32 +08:00
William Cheng
21b2b20c2d Merge remote-tracking branch 'origin/4.0.x' 2018-12-06 12:21:14 +08:00
Prateek Malhotra
1e023f3b6e [Typescript][Fetch] Fix bugs with new typescript-fetch generator (#1545)
* [Typescript][Fetch] Always initialize queryParameters

* [Typescript][Fetch] Resolve date and date-time formats to parameter type Date

* [Typescript][Fetch] Update models template

- Add `readonly` modifier to readOnly parameters.
- Omit readOnly parameters from requests when serializing models
- Use allVars in models template when serializing/deserializing requests

* [Typescript][Fetch] Omit time component when parameter format: date

* [Typescript][Fetch] Add moduleResolution: node option to tsconfig.json

* [Typescript][Fetch] Added non-model enums
2018-12-06 12:20:34 +08:00
Hemant Zope
df19c13347 [C] Resolve some issues from #1473 (#1497)
* change folder structure for external and added list as primitive type

* modified gitignore for C generator

* change include statement as per directory structure

* added projectname variable for using in cmakelists

* modified cmakefile:compile files irrespective of testfiles and add support for make install

* updated readme with how to compile and how to use

* CMakeLists change curl to 7.58.0

* fix indentation

* add remove as reserved word
2018-12-06 11:39:30 +08:00
William Cheng
32d228c33a Add GraphQL Server owner (renepardon) to the README (#1620) 2018-12-06 10:37:46 +08:00
William Cheng
fcd37a6006 re-enable haskell client test (#1621) 2018-12-06 10:37:25 +08:00
William Cheng
4be605bcb7 GraphQL Server (#1603)
* Add GraphQL express/apollo server generator

* add basic resolvers; adjust parameters/input types

* small adjustments and improvements

* adjust logger config for GraphQL generators

* remove MaxPermSize form bash script as it will be removed from later Java versions; add isNullable utility helper method; Adjust TODOs for graphql implementation

* re-created samples for graphql config and server generators

* re-added templates for graphql config generator

* add graphql-config-petstore bash script

* add isNullable utility method

* fix javadoc issues

* adjust licence headers

* rename Generator to Codegen for GraphQL classes

* renaming, minor enhancement to graphql generator

* add graphql server samples

* add windows batch files, rename directory
2018-12-05 18:20:53 +08:00
William Cheng
01ac429954 fix TS version check (#1616) 2018-12-05 18:06:55 +08:00
Philipp Kainz
10ea00066a [typescript-angular] Angular 7 compatibility of dependencies and package generator (#1613)
* added Angular v7 compatibility version support

* fix logic error

* updated petstore samples

* fixed failing tests and added Angular 7 client test app
2018-12-05 15:15:51 +08:00
Mark Thebridge
4930f75dc7 Generic JSON body support in rust-server (#1523)
* Ensure that generic JSON bodies are correctly autogenerated

Generates valid Rust for an arbitrary JSON response body of type `object` with no other schema.
2018-12-04 16:51:59 +00:00
William Cheng
8795bff35e Merge remote-tracking branch 'origin/4.0.x' 2018-12-04 23:26:52 +08:00
Fabrizio Ferrai
6976a8c775 Upgrade haskell-servant generator to latest LTS (#1469)
* [Haskell Servant] Upgrade to lts-12

- Upgrade Servant to the latest version
- Add Maybe for optional values
- Add UUID, UTCTime and Day types
- Fix the URL configuration so that it has one param with all data
- Add Data and ToSchema instances to models
- Switch to TLS http manager so it can connect to https urls
- Add nicer API to call the endpoints
- Add Nix support

* [Haskell Servant] Upgrade Petstore

* [Haskell Servant] Delete old swagger-petstore samples

* [Haskell Servant] Use generics for ToForm and FromForm instances

* [Haskell Servant] Generate ToSchema instance only if it's safe to do
2018-12-04 19:03:08 +08:00
Rubén Martínez
110d057384 [csharp] Fixed issue #1524: useDateTimeOffset not working in openapi generator 3.3.3 (#1544)
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.

* Fixed issue #1524 that caused the `useDateTimeOffset` additional property for the `csharp` generator not to work.
2018-12-04 18:59:15 +08:00
Erik Timmers
d75392e056 [elm] Enable setting base path for each request (#1538) 2018-12-04 18:36:55 +08:00
Juan Eugenio Abadie
e84c59f4cc [cpp rest-sdk] Add status code to response handler (#1541)
* Add status code parameter to the response handler

* Update PetStore
2018-12-04 18:35:39 +08:00
Kiran-Sivakumar
0a33ad465f [Java][okhttp-gson] Fix bug when performing OAuth token retry (#1576)
* Fix access token retry bug

* Update petstore samples

* Remove newline

* Import Pair and List in RetryingOAuth template

* Update petstore samples

* Update petstore samples
2018-12-04 18:33:10 +08:00
Denis Korenevskiy
8ee1553654 Replace <tt> tags with <code> to make new jacadoc work. (#1585)
Replace <tt> tags with <code> to make new javadoc work.
2018-12-04 18:16:23 +08:00
Christophe Bornet
001f89f1d9 Add tests to online generator (#1591) 2018-12-04 18:14:50 +08:00
William Cheng
cd61442387 Improve checkout script on NPMJS wrapper (#1595)
* improve checkout on npmjs wrapper

* update readme
2018-12-04 11:14:14 +08:00
Rubén Martínez
e3ab059530 [csharp] Fix #1531 with non-nullable enums on operation parameters not compiling (#1543)
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.

* Fixed issue #1531. Now in C# operation parameters are post-processed to correctly mark them as enumerations. The api.mustache C# template now marks parameters as nullable when they're non-required enums.

* #1531 Added fix for enum, non-required parameters to the interface of the auto-generated C# Apis.

* Fixed error with the development of ticket #1531, which duplicated nullable question marks for primitive types.
2018-12-03 17:28:08 +08:00
William Cheng
dfa7e616c0 Merge remote-tracking branch 'origin/master' into 4.0.x 2018-12-01 19:18:27 +08:00
William Cheng
2353d71d4b skip stack, dark installation due to travis issue 2018-12-01 01:04:00 +08:00
William Cheng
2f4dc9a049 Prepare 3.3.4 release (#1583)
* update release version

* update doc for 3.3.4 release

* comment out stack installation due to error in travis
2018-12-01 01:00:06 +08:00
Christophe Bornet
54b5093381 Improve online gen resolution of host for the download link (#1580)
Fix #1517
2018-11-30 22:04:17 +08:00
William Cheng
cf2ddb8b8c Fix header parameters display in the documentation (#1579)
* fix header parameters display in html

* fix cwiki header, remove test header parameter
2018-11-30 20:57:52 +08:00
William Cheng
8f8d3547f6 Update JS client dependency (#1578)
* update js dep

* fix missing comma

* remove unused test files in JS

* remove StringBooleanMap.spec.js

* remove StringBooleanMap.spec.js
2018-11-30 18:47:32 +08:00
William Cheng
b226f52d13 Merge remote-tracking branch 'origin' into 4.0.x 2018-11-30 10:16:16 +08:00
William Cheng
eae958f293 Add "b<>com" to the list of companies using OpenAPI Generator (#1573) 2018-11-30 09:22:01 +08:00
sunn
308515bbc1 [cpp-qt5] client response headers and validation of properties for client and server (#1508)
* Add validation of required properties
Add Header extraction for client
* Remove some todos
* Add Test for Store API
Improve some checks for serialization
2018-11-29 11:00:37 +01:00
Michael Ramstein
6930433def [elixir] Typespec - allow null on optional struct-attributes (#1514)
* Typespec - allow null on optional parameters

* Run Petstore for elixir

* considers 'nullable' in model template, fixes 'isRequired'
2018-11-29 15:58:32 +08:00
William Cheng
c537557a91 comment out haskell client build in travis 2018-11-29 11:14:00 +08:00
Akihito Nakano
f7c857cc39 [Spring] Add an option to return success code (#1197)
* Returns status code which defined at Response Object

* Tweak indent

Remove the spacer "{{#async}} ... {{/async}}" "{{^async}} ... {{/async}}"

* Update samples^

* Fix broken indentation

* Update samples

* Revert methodBody.mustache

* Revert "Fix broken indentation"
  * This reverts commit 95b6a00f8b.
* Revert "Tweak indent"
  * This reverts commit ba2cedc897.
* Revert "Returns status code which defined at Response Object"
  * This reverts commit f676a89e23.

* Example contains status code

* Update samples

./bin/spring-all-pestore.sh

* Fix syntax error

* Update samples

* Run bin/utils/ensure-up-to-date

* Make the changes an option `returnSuccessCode`

* Run bin/spring-all-pestore.sh to update samples

* Run ./bin/utils/export_docs_generators.sh
2018-11-29 11:51:25 +09:00
Simas Abramovas
777bf1f3aa Kotlin collection type (#1564)
* Allow specifying type

* Add test

* Update docs

* Don't modify types if the default option is chosen
2018-11-29 10:33:55 +08:00
William Cheng
41185d3c6f Merge branch 'master' of https://github.com/openapitools/openapi-generator 2018-11-28 22:33:54 +08:00
William Cheng
1d4e24b203 comment out c test due to timeout in travis 2018-11-28 22:17:42 +08:00
William Cheng
c63f58f1ef [Elixir] fix ":body" handling (#1504)
* Fix swagger-api/swagger-codegen/issues/8138 swagger-api/swagger-codegen#8138

When JSON payload needs to be in the body (`"in": "body"`), it must not generate a multi-part body, but embed directly in HTTP body.

* update elixir samples

* update elixir client samples

* remove double quote
2018-11-28 21:35:50 +08:00
Kiran-Sivakumar
9df70798b3 [Java][okhttp-gson] Add option to employ builders for API requests (#1341)
* Generate APIs that use the builder pattern

* Add option to use builders for API requests

* Fix template spacing

* Add new sample-generation script and generated samples

* Update docs

* Add new sample-generation script for Windows

* Replace config option with vendor extension

* Remove useBuildersForApiRequests config option

* Remove builders sample-generation scripts

* Replace config option with vendor extension in api_test template

* Remove okhttp-gson-requestBuilders sample

* Rename x-builders-for-api-requests to x-group-parameters

* Add modified api_doc.mustache under okhttp-gson resources

* Add modified README.mustache under okhttp-gson resources

* Update petstore samples

* Fix FakeApiTest.java in petstore samples

* Add whitespace to rerun checks

* Remove whitespace to rerun tests

* Fix FakeApiTest.java in parcelable petstore sample

* Update versions in samples

* Update versions in samples
2018-11-28 17:53:36 +08:00
Akihito Nakano
3efe56752e Improve error message when the spec is not found (#1495)
* Improve error message when spec not found

* Add test yaml

* Fix invalid yaml file path

* Fix typo
2018-11-28 16:50:52 +08:00
rasmusfaber
d8dde6855f Use checksum to decided if input spec has changed. (#1502) 2018-11-28 16:43:00 +08:00
meganemura
ebf67e683c Fix regexp in ruby-client (#1521)
* Fix regexp in ruby-client

* Remove tests for unknown regexp patterns
2018-11-28 16:40:58 +08:00
feihongmeilian
5b4a19849e Upgrade the erlang-server dependency from cowboy1.x to cowboy2.x (#1364)
* Upgrade the erlang-server dependency from cowboy1.x to cowboy2.x

* Update erlang-server sample

* Fix a bug for erlang-server test
2018-11-28 11:50:08 +08:00
William Cheng
9b99b6b6bf better hanlding of string type with different format (#1558) 2018-11-28 11:21:54 +08:00
William Cheng
33016f2790 Update NPM installation instruction (#1556)
* Update NPM installation instruction

* further revise the doc
2018-11-28 00:27:35 +08:00
William Cheng
963173b357 Add link to conference presentation (#1554) 2018-11-27 23:59:23 +08:00
Michael Ramstein
d31fa4f7c4 Typespec: Fixes issue with formated primitivs (#1534) 2018-11-27 21:34:54 +08:00
Michael Ramstein
247bd68880 Decodes list with primitvs (#1536) 2018-11-27 17:00:10 +08:00
Michael Ramstein
4eae430cca [elixir] Fixes BadMapError for header parameters (#1537)
* Adds :headers as expected param mapping

* Gen Petstore
2018-11-27 16:59:16 +08:00
William Cheng
51a3a22928 Add online services to the documentation (#1550)
* update online service

* update readme with online services

* minor wording change

* revise wordings

* add links to linode logo
2018-11-27 15:51:23 +08:00
Erik Timmers
172448fa28 Add support for UUIDs (#1516)
And fix naming for `decode` functions.
2018-11-27 13:47:06 +08:00
William Cheng
46a4ffe64c Skip model generation if it's a top-level map or array (#1296)
* update samples

* remove string boolean map spec

* add logic to skip array alias being generated as model

* fix alias to array

* remove unused ruby files

* remove unused ruby (oas3) files

* unalias response schema

* fix NPE when no model defined

* fix ruby openapi3 script

* update samples

* add global openapi, schemas for unaliasing

* minor code cleanup/refactoring using globalSchemas

* Revert "minor code cleanup/refactoring using globalSchemas"

This reverts commit 20a2bbc6fc.
2018-11-26 22:01:53 +08:00
Yuichi Okada
ce0253892c [PHP client] Fix README.md template for php (#1540)
* Fix README.md template for php

* update php openapi3 samples
2018-11-26 13:41:27 +08:00
Akihito Nakano
34abedeb8a [PHP] Bump minimum required version to PHP7.1 (#1491)
* Bump minimum required version to PHP7.1

ref: http://php.net/supported-versions.php

* Bump phpunit

* Update [api|model]_test.mustache

* Update samples

bin/openapi3/php-petstore.sh

* Update namespace of PHPUnit ("tests" folder)

* `setExpectedException` is deleted in PHPUnit 7.4

* Update namespace of "Assert" class

* The attribute 'name' is required

* Add anotation to exclude the test from risky testcheck

* Update samples (samples/client/petstore/php)

* Apply updates to "test" in openapi2 folder (samples/client/petstore/php)

b3495ecbfe
15e00ae89d
2fc6917d13
0d016c00ed

* Install php7.1

* Switch to php7

* Update samples (security)

bin/security/php-petstore.sh
2018-11-26 08:59:22 +07:00
William Cheng
2146081ffb update elm petstore samples 2018-11-24 19:12:22 +08:00
William Cheng
7db12aa4af Merge remote-tracking branch 'origin' into 4.0.x 2018-11-24 17:48:17 +08:00
William Cheng
bf2932d41c fix array of enum class in JS (#1484) 2018-11-24 17:04:59 +08:00
William Cheng
f8ada391c4 Fix boolean value handling in HTTP request body (#1515)
* fix boolean http body handling

* fix typo in parameter name
2018-11-24 16:42:32 +08:00
Christian Schneider
0ba9278308 #1506 Bump Zone.js to remove warnings when using angular >=6. (#1522)
* 1506 allow zonejs 0.7.x and 0.8.x to support a wider range of angular versions

* #1506 Removed zone.js as peer since it comes with angular itself

* #1506 Removed zone.js as peer since it comes with angular itself
2018-11-24 16:42:09 +08:00
Erik Timmers
e91d6d735d [elm] Add support for nested Lists & Dicts (#1528)
And rename Union Types to Custom Types and Aliases to Records.
2018-11-23 16:03:07 +01:00
Erik Timmers
5f1362daad Update Elm for elm/http 2.0.0 (#1510) 2018-11-23 16:02:55 +01:00
Juan Eugenio Abadie
dd33434064 [cpp rest-sdk] Reponse headers handler (#1511)
* Add support to set a Response headers handler
* Update PetStore
* Fix missing names
* Update PetStore
2018-11-23 11:38:40 +01:00
William Cheng
cf04ba30db Fix the function name starting with numbers (#1513)
* update elixir samples

* fix function name starting with numbers

* add new files
2018-11-23 17:32:51 +08:00
William Cheng
5aa1da7c2e Add utility methods for free-form objects (isFreeFormObject) (#1338)
* add utility methods for models

* add isFreeFormObject tag

* add object mapping for elixir client

* minor fix to free form object check
2018-11-22 18:46:09 +08:00
Jon Schoning
9be5b99266 [haskell-http-client] fix typename generation bug for array params; update deps
- fix build for example-app + tests-integration in Samples (due to change in Category)

  - upgrade stack to 12.18

  - fix typename generation bug for array params
2018-11-20 18:38:07 -06:00
Alwin Garside
792f95eb09 [PHP] Use appDescription in composer.mustache (#1485)
* Use appDescription in composer.mustache

* Update petstore files

* More updated php petstore files

* Yet another updated php petstore file

* Use "{{{appDescription}}}" instead of "{{appDescription}}"
2018-11-20 10:30:14 +09:00
William Cheng
2b58f6737a fix typo in java client docstring (#1494) 2018-11-19 21:14:03 +08:00
William Cheng
363b095721 better warning, default value (#1492) 2018-11-19 20:55:29 +08:00
meganemura
b9949e1a8e Generate a ruby-client sample for OpenAPI 2.0 (#1482)
* Move output directory for bin/openapi3/ruby-client-petstore.sh

$ git mv sample/client/petstore/ruby sample/openapi3/client/petstore/ruby-client

* $ bin/ruby-client-petstore.sh

* Run bin/ruby-client-petstore.sh in bin/utils/ensure-up-to-date
2018-11-19 17:02:19 +08:00
William Cheng
f58bd6d839 fix NPE for scala gatling generator (#1479) 2018-11-19 11:06:16 +08:00
William Cheng
0e693cd9a8 Fix NPE with cpp-restsdk client generator (#1477)
* fix_cpprest_npe

* fix_code_format
2018-11-19 11:05:44 +08:00
William Cheng
65a86eee3b Merge remote-tracking branch 'origin/master' into 4.0.x 2018-11-18 18:54:29 +08:00
PLACE
334415dec2 Typescript fetch fork (#569)
* added my fork from https://github.com/Place1/swagger-codegen-typescript-browser

* ran bin/typescript-fetch-petstore-all.sh

* use FormData.append rather than .set for IE11 compat

* reverted change to licenseInfo.mustache

* reverted some comments

* added package.json and tsconfig.json back to the generator

* added support for blob (application/octet-stream) responses

* models and apis are now in folders

* added support for modelPropertyNaming based on the spec

* bug fix

* updated samples

* Restore pom.xml for typescript project

* Restore samples/client/petstore/typescript-fetch/tests/default/package.json
≈

* added support for response type Date conversion

* updated samples

* Rework pom in "samples.ci"

* Restore "samples/client/petstore/typescript-fetch/tests/default"

* updated configuration class to use property getters to allow clients to implement configuration values as getters

* added {{datatype}}ToJSON functions to handle serialization and naming conversions

* fixed missing import

* fixed compilation error. updated samples

* 1 character change to get CI to run again

* updated samples

* added support for array type request body

* updated tests

* support for optional request bodies

* updated models json converters to handle undefined inputs (to simplify usage in optional contexts like optional request bodies)

* updated samples

* updated tests

* changed to typescript version 2.4

* updated samples

* support for optional properties being null, undefined or omitted

* updated samples

* bug fix

* bug fix

* updated samples

* ran npm install in test project

* patch to get tests running

* added support for retrieving raw response. added support for binary request bodies. added support for blob data type for files/binary.
2018-11-18 13:24:24 +08:00
Ludovic Montel
7f8ff35245 fix #1272 Fix wrong PHP Symfony typehint (#1453)
A model with an array property used to have the wrong PHP typehint in
the setter: the array item object type instead of "array"
2018-11-18 12:38:44 +08:00
Arshad Kazmi
2c418e1b71 Fixed scripts list url in README.md (#1481) 2018-11-18 10:20:32 +09:00
William Cheng
941b3ea015 fix NPE in the C# Nancy generator (#1478) 2018-11-17 10:11:14 -05:00
William Cheng
c656194f22 Add C template creator to project's README (#1476) 2018-11-17 18:42:40 +08:00
Steven Masala
5b57eae5de add TUI InfoTec GmbH as company (#1472) 2018-11-17 11:38:13 +08:00
William Cheng
edc05df774 Add C client generator (#516)
* add c generator (1st commit)

* udpate c model template

* more fixes

* Add string replace function for C generator (#908)

* Add string replace function for C generator

* Fixed replacement for variable only

* Fixed problem for different datatypes of paramName

* store return value of modified path

* set str_replace variable to be same as original variable.

* [C] Fixed coding style issues

* add uncrustify support

* update petstore sampmles

* add Locale.ROOT

* added test-api-client.c to include test cases for strReplace function

* added header and body mustache and made changes to ClibcurlClientCodegen.java accordingly

* [C] renamed functions in apiKey.c.mustache according to apiKey.h.mustache

* [C] changes in import statement

* renamed apiKey.h to keyValuePair.h and made necessary changes in the codes

* changed apiKey.c according to keyValuePair.h

* fixed import statement in model

* added code for generating struct in model-header.mustache

* added typedef struct for model-headers

* updated sample/client/petstore/C

* fix locale

* [C] Function addition and modification of major structs (#1020)

* added readme file

* fixed parameters in api headers functions

* made changes to add readme file and typemapping of array to list

* fixed header import statement in apiheader files

* modified struct of model type in model header

* updated sample

* modified README file

* updated sample

* parse from json function added

* modified struct and create function

* added include for model

* modified parsefromjson function

* modified struct and create function for more datatypes

* added mapping for date-time and modified model import return statement

* modified function parameters

* modified include statement

* fix function in api body

* updated sample

* clean up files

* regenerate c petstore

* fix error message when setting uncrustify

* add version to uncrustify usage

* added uncrustify rules in  mustache (#1021)

* added uncrustify rules in  mustache

* updated sample

* updated same with crustify

* updated sample with uncrusitfy 0.67

* modified readme about uncrustify requirements

* fixed mistakes in readme mustache and sample readme

* fix file import, unformat c petstore

* fix import in test files

* fix model with complexType

* fix free string, format the code using uncrustify

* modified sample

* Modified sample to check

* return type issue figured,more to do to fix it

* minor fixes to make complete code compile

* Compiling sample code. Store has issue with map.

* comment out test file generation which is not req.

* commented operation name

* fixed various issues responsible for code not compiling

* test mustache temporary for testing

* updated sample add,del,getbyid works, formparam yet to do

* few minor changes and added fuction to add different header and content type in apiClient

* added code to upload image

* added function to test upload image

* fixes for fileupload and various other small things

* fixed issue due to xml produces

* updated sample:working sample add,del,find,uploading:tocheck ,

* added free functions for variable where memory is allocated

* rename imagecontainer struct to filestruct

* fix issues with if functions for all list types

* fixed issue with primitive return type in header file

* updated sample w/ free functions

* update c samples

* remove corrupted file

* update samples

* test cases for APIs

* added function to generate test cases from new mustache

* mustache files for manual written test cases

* added default content type to application/json

* fixed issue with primitive return type

* fixed issue with bool type

* added file apiKey.c

* updated sample tested

* update c environment variable (#1090)

* add mapping for map (#1103)

* minor update

* revert list paramter check to NULL

* modified return type for primitive(map - list_t)in mustache

* removed apiClient_free as it was two times

* updated sample

* fixed issue of path parameter when string less than parameter len

* fixed issue for form paramters upload

* added checks to avoid seg faults

* updated sample

* added check for null value in form parameter

* modified size of mallocs to dynamic

* updated sample

* Add C Petstore to Travis CI (#1136)

* setup CI for C petstore

* update bash script permission

* unit petapi test

* fixed memory leak in strReplace and apiClient Functions

* modified return value for status generation

* added enum defination and functions to convert and back from string

* added function for enum and made changes to free memory at necessary places

* added datatype handling for enum

* fixes regarding memory allocation and free

* updated mustache of test files

* updated sample

* renamed manually written test files

* manual test file for pet

* cleaned common api test file for time being

* renamed test files

* added renamed test files to build test bash

* added file null pointer check

* modified uncrusitfy rules

* minor update to c templates (#1161)

* [C] Fixed enum function declaration  (#1178)

* fixed enum function declaration in model headers

* fixed enum declaration in header files for sample

* disable curl verbose mode and add response code variable

* added response code variable in apiClient struct

* modified apiClient header and source file

* added response and removed commented code api-body mustache

* removed commented code from model-body mustache

* removed unnecessary print statements from test mustache

* updated sample

* fixed spaces issue

* Better format in C templates (#1224)

* better format in the c template

* minor format fix

* [C] changed base url from static to dynamic (#1225)

* changed basePath from static to dynamic

* removed unnecessary header declaration

* updated sample

* [C] added curl version check in CMakeList.txt (#1248)

* added curl version check in CMakeList.txt

* Updated README for latest curl version

* [C] Major changes to keyValuePair function (#1282)

* removed static declaration

* changed static declaration

* added difference for string and non string

* added more code for different function for string and non string

* fix issue with param name

* change value in keyPairValue to void

* fixed issue of difference in function name cases

* added support for non char parameters in api

* fix issue of map return data

* modified manual-StoreAPI map return data handling

* fix minor mistake

* added support for map and changed code to support value of keyvaluepair as char and other

* updated sample

* fixed api header declarations

* change map declaration in header

* resolved issues realted to map data handling

* fix minor issues

* add N at start if enum variable starts with number

* override toParamName method

* changed paramters to paramName from baseName

* change variables in apibody from baseName to paramName

* Skip test file generation (#1459)

* skip test file generation

* skip overwriting CMakeLists.txt
2018-11-17 01:32:18 +08:00
William Cheng
6ab6896a13 comment out dart2 test, update rust server samples (#1471) 2018-11-17 01:27:07 +08:00
Benjamin Gill
32b8d7fee7 [rust-server] Always derive Debug (#1404)
* Add test for file response

* Always derive Debug

Now that we're using a byte array, we can guarantee that deriving Debug will always work
2018-11-16 12:28:05 +00:00
Shengpeng Liu
dc3a3dd15a Fix openapi_types generation error (#1256) 2018-11-15 21:38:45 +08:00
William Cheng
736e8348b6 update documentation for a generator 2018-11-15 18:32:12 +08:00
William Cheng
2bcf5b2263 Merge remote-tracking branch 'origin/3.4.x' into 4.0.x 2018-11-15 17:49:44 +08:00
William Cheng
a87a544bf5 Merge remote-tracking branch 'origin/master' into 3.4.x 2018-11-15 17:11:01 +08:00
William Cheng
8d9542207a Prepare 3.3.4 snapshot (#1450)
* change version to 3.3.4-snapshot

* updat readme

* update samples
2018-11-15 16:21:15 +08:00
William Cheng
31d9928734 Revert "force deployment"
This reverts commit e5c0d227ab.
2018-11-15 12:25:14 +08:00
William Cheng
e5c0d227ab force deployment 2018-11-15 11:39:14 +08:00
James Addyman
653601bef2 Fix #1424 [SWIFT4] Date Encoding Issues (#1442)
Ensure the same date format string is used throughout the generated code (use the one set in Configuration.swift).

Ensure the same date formatter options are used when encoding dates as well as decoding dates. If a consumer has set their own date formatter on CodableHelper, use that when encoding dates too.

Adds DateFormatTests to the SWIFT4 unit tests.

Updates the SWIFT4 petstore samples
2018-11-15 11:20:39 +09:00
William Cheng
7564d629e7 prepare 3.3.3 release (#1447) 2018-11-14 23:56:58 +08:00
William Cheng
f647b2f24b Add file post-processing to C++ client, server generators (#1440)
* add file post processing to cpp generators

* use clang to auto format cpp-restsdk code

* restore cpp-restsdk samples without clang format
2018-11-14 16:43:14 +08:00
William Cheng
0165b0fb33 test all generators with fake petstore spec 2.0, 3.0 (#1439) 2018-11-14 15:55:09 +08:00
Jim Schubert
df1819daa9 C# template refactor (#737)
* [csharp] Refactor to support third-party customization more easily

* [csharp] Regenerate OpenAPIClient sample

* create new csharp-refactor client gen

* update samples

* fix Locale.ROOT

* fix import

* remove outdated files, update samples
2018-11-14 14:41:42 +08:00
William Cheng
3c28946f1e [Android] Fix compilation errors when there's no model defined (#1438)
* remove model import when there is no model

* fix android http client no model issu due to import
2018-11-14 14:02:05 +08:00
TNM Technologies
22902e72a1 fix(#1423): [JAVA] generating Map with jaxrs-reasteasy does not import (#1426)
* fix(#1423): [JAVA] generating Map with jaxrs-reasteasy does not import
the hashmap

https://github.com/OpenAPITools/openapi-generator/issues/1423

* fix(#1423): fix ensure-up-to-date issues for jaxrs-resteasy joda
samples

https://github.com/OpenAPITools/openapi-generator/issues/1423
2018-11-14 10:18:53 +08:00
William Cheng
efde4a8eb8 Fix issue with C# generator when the model name is "File" (#1428)
* fix get schema type in abstract c# class

* update c# petstore sample
2018-11-14 09:43:31 +08:00
Akihito Nakano
c8837ea414 Change entrypoint to docker-entrypoint.sh (#1413)
Run entrypoint script
2018-11-13 17:24:04 +09:00
William Cheng
7c3a2a5c07 Fix run-in-docker by disabling useSystemClassLoader (#1418)
* test run-in-docker in travis

* fix command path

* correct batch mode arg

* disable useSystemClassLoader
2018-11-12 22:07:46 +08:00
William Cheng
7e3149e675 fix npe when paramName is null (#1416) 2018-11-12 22:06:58 +08:00
meganemura
9db62f459a Fix return_type parameter examples in ruby-client (#1399)
* Fix return_type parameter examples

* $ bin/openapi3/ruby-client-petstore.sh
2018-11-12 14:26:05 +08:00
William Cheng
c7349c7f88 Add top level x-group-parameters support (#1405)
* add top level x-group-parameters support

* update petstore samples
2018-11-12 14:25:32 +08:00
William Cheng
69a766882d Add tip about running online openapi-generator via Docker (#1415)
Add tip about running online openapi-generator via Docker
2018-11-12 11:37:30 +08:00
William Cheng
7ce38aae38 Remove duplicated imports (#1414)
* remove duplicated imports

* fix model import in java

* update generator docs

* fix model import for retrofit2 client
2018-11-11 21:33:28 +08:00
sunn
fd46b4e566 Sanitize Model Import (#1411) 2018-11-10 21:07:49 +01:00
James Addyman
5711985ac3 Fix swift4 1406 (#1407)
* Fix warnings produced when using Swift 4.2

* Update Petstore client for Swift 4
2018-11-10 13:59:58 +09:00
William Cheng
7c6beb9692 update generator doc 2018-11-10 00:28:08 +08:00
sunn
8ba4b3a276 Sanitize names in case number is present (#1409) 2018-11-09 16:53:30 +01:00
Simas Abramovas
f802e63f9f Add parcelizeModels cli option (#1289)
* Add parcelizeModels cli option

* Add info log to clarify the parcelization requirements.

* Update docs
2018-11-09 23:51:27 +08:00
sunn
0ed02c8e91 Fixes double prefixing during model import (#1398) 2018-11-09 16:49:47 +01:00
Eivind Bergstøl
93e2fc6355 Fixes an issue where code generator for Java produces not compileable (#1357)
code if the yml-definition does not have any type definitions. This
is normal if the api only uses simple datatypes (Int, String) for
inout/output.
2018-11-09 23:48:26 +08:00
William Cheng
60bc19e830 Add file post-processing to PHP generators (#1402)
* add file post processing to php

* restore php petstore client
2018-11-09 23:45:21 +08:00
William Cheng
d59230fd27 change python pool_thread default to 1 (#1403) 2018-11-09 23:44:47 +08:00
Benjamin Gill
4742f0086b [rust-server] Re-instate ApiRequestParser (#1388)
* Re-instate ApiRequestParser

It turns out I was over-eager when removing file support and accidentally deleted some code that should have been kept. See https://github.com/OpenAPITools/openapi-generator/pull/547/files#diff-684007b298ee5998fa30732c261ea2fcL469.

* Don't do html escaping of parameters
2018-11-09 11:23:59 +00:00
William Cheng
1522855915 update python petstore samples 2018-11-08 21:47:16 +08:00
sunn
75b1403c1e [cpp-qt5] improvements for server and client (#1284)
- Remove pointer usage in generated models
- Use const reference wherever possible
- Reuse same super class for Qt5 client and server
- Support primitive return types for Qt5 client
- Add const reference to API calls
2018-11-08 14:18:57 +01:00
William Cheng
a023a0d0ca update petstore samples 2018-11-08 18:32:48 +08:00
William Cheng
e6c97a1bc1 Merge remote-tracking branch 'origin/3.4.x' into 4.0.x 2018-11-08 18:18:12 +08:00
William Cheng
a186efed35 Merge remote-tracking branch 'origin/master' into 3.4.x 2018-11-08 18:17:29 +08:00
William Cheng
3969afb2ff Add file post-processing to Kotlin generators (#1400)
* add post processing to kotlin file

* restore kotlin samples
2018-11-08 17:40:39 +08:00
William Cheng
2ef499faf3 [python] Avoid creating unused ThreadPools (#1387)
* Avoid creating unused ThreadPools

Instead, create ApiClient.pool on first request for .pool property.

avoids spawning n-cpus threads (the default for ThreadPool) at instantiation of every ApiClient

* update doc

* set pool_thread to None
2018-11-08 17:39:20 +08:00
William Cheng
34945427d4 fix java exception in apex codegen (#1395) 2018-11-07 22:32:22 +08:00
Benjamin Gill
5849dbaaca Add tests for inline objects (#1331)
I think these tests cover all the problems with rust-server and inline objects I know about. This should show us when we've fixed the problem.

Also fixes a CI failure.
2018-11-07 11:07:53 +00:00
Steven Masala
73162cbcca fix name sanitation when using kebab case filenaming (#1314)
* fix name sanitation when using kebab case filenaming

* remove whitespaces
2018-11-07 15:52:51 +08:00
Guy Gershoni
0e2e1bf715 Added tests and fix for issue #1392. Fix regex generated in Ruby client. (#1393)
* Added tests and fix for issue #1392. Param validation with regex not recognizing \d correctly in Ruby client.

* Added generated files to pass ./bin/utils/ensure-up-to-date which is run by circleci
2018-11-07 12:08:23 +08:00
William Cheng
f21640f6a1 update spring samples 2018-11-07 11:46:17 +08:00
Konstantin Pavlov
301208a785 JavaSpring: pojo: fix javadoc comment (#1384) 2018-11-07 11:26:56 +08:00
William Cheng
4245cf42dd update generator doc 2018-11-07 01:02:44 +08:00
Christophe Bornet
2184a8a9b4 [Flask] Upgrade to flask-connexion 2.0.0 (#1382)
Fix #323
2018-11-06 18:37:50 +08:00
Benjamin Gill
30bfebfa16 Rust server html (#1329)
Builds on #1180 by @colelawrence. This addition to the rust-server generator enables the use of text/html responses as plaintext.

I've added an html endpoint to the sample to demonstrate that this works (and fixed the problem that that uncovered).
2018-11-05 16:14:23 +00:00
Martin Fidczuk
303b469fae Allow package version to be passed on CLI (Rust fix) (#1286)
This MR allows package version to be specified in Rust in the generate argument list, with the argument `-DpackageVersion=<package_version>`. If this argument is present then the version in the resulting Cargo.toml file will be the passed value. If this argument is not present then the version in the OpenAPI definition file will be used, as per current behavior.
2018-11-05 16:12:43 +00:00
William Cheng
c95b1f4545 fix incorrect patternin aspnetcore (#1371) 2018-11-05 10:21:55 +08:00
William Cheng
fbc3ff8766 Add a link to an article about openapi-generator (#1370) 2018-11-05 08:17:22 +08:00
Nathan Broadbent
63b1c233c9 Fix issue with Ruby client where strings from example properties are not wrapped with quotes (#987) 2018-11-04 17:10:35 +08:00
andreas-eternach
eb5a8cc752 feat: OpenApi-generation from within eclipse (#509) (#1332)
* feat: OpenApi-generation from within eclipse (#509)

* Added life-cycle-mapping for recognition by M2E
* Make BuildContext injectable by M2E in oder to detect if json-source
has been modified and a regeneration is required.

* core: fix indentation problems, remove commented code
2018-11-04 17:07:33 +08:00
Benoît Courtine
293d29ab3b Fixes bug #1339. Array and Map inner schema can be missing. In this case, it must default to String. (#1363) 2018-11-03 22:19:19 +08:00
Kiran-Sivakumar
078b04deac [Java][okhttp-gson] Add new ApiClient constructors for access token retry (#1319)
* Add new ApiClient constructors for access token retry

* Update samples

* Update security samples
2018-11-03 22:10:16 +08:00
Kay Schecker
7eb9cda1e0 Added hint for npm package wrapper to README (#1350)
* Added hint for npm package wrapper to README

* Added manual how to use and install NPM package globally
2018-11-03 22:06:11 +08:00
Vasili Puchko
ac6fd3f79f Update gradle plugin's Readme.md (#1356)
Add a note about use of `systemProperties` since some options are confusing and hard to guess how to use correctly. The only source I was able to find how to configure it in the way I need was a comment to issue https://github.com/OpenAPITools/openapi-generator/issues/551#issuecomment-411686091
2018-11-03 21:58:43 +08:00
sunn
f8f3a08282 [cpp-pistache]Add support for map (#1359)
* Add support for map
* Add support for nested maps
* Simplify Array and Map Helper
* Use const reference wherever possible
2018-11-03 14:09:31 +01:00
William Cheng
36991a4e14 Improve ensure-up-to-date script (#1362)
* improve ensure-up-to-date script

* trigger build failure

* use exit 1 instead

* fix build failure

* update samples
2018-11-02 15:38:34 +08:00
Juan Eugenio Abadie
ecff8b5d00 [cpp rest-sdk]Fix precision (#1293)
* Convert floating point numbers to string with higher precision
* Update PetStore
2018-11-01 20:25:38 +01:00
Ysawa
521f5fafa3 Fix defaultValue for String schama in Dart (#1342) 2018-11-01 17:50:01 +08:00
William Cheng
02e85cc417 Prepare v3.3.3-SNAPSHOT (#1355)
* prepare 3.3.3-snapshot

* update petstore samples
2018-11-01 10:42:26 +08:00
William Cheng
0cc9b69b6f 3.3.2 release (#1353)
* prepare 3.3.2 release

* update script to remove outdated reference
2018-10-31 20:48:14 +08:00
Dennis Kieselhorst
30474c7867 update CXF and Jackson to latest version (#1343) 2018-10-31 16:45:51 +08:00
William Cheng
d06ddfbcaa various update in readme (#1351) 2018-10-31 16:35:39 +08:00
William Cheng
165c0f2310 update erlang technical committee, template creator (#1344) 2018-10-31 00:09:30 +08:00
William Cheng
aced89ff8b Add group parameter support to PHP client (#1337)
* add group parameter support to php template

* more update for group parameter

* fix call to protect function

* fix missing $

* update based on feedback

* create fake endpoint to test group parameters

* sync fake petstore spec v2, v3

* fix php doc for group parameters

* update petstore samples

* update fake petstore spec v2

* update petstore samples

* fix spec and update samples
2018-10-29 15:42:32 +08:00
Juan Eugenio Abadie
d80f3a6197 [cpp rest-sdk] Constness (#1295)
* Improve method signatures to use const when the value won't change

* Update PetStore

* Change setters for non-primitive types to receive const reference parameters

* Update PetStore
2018-10-28 08:01:52 +01:00
micw523
107467497c Fix W605 Warning and reenable flake8 (#1334) 2018-10-28 11:16:54 +08:00
Adam Shannon
d61a14cab9 fix maven repo for openapi-generator-cli (#1333) 2018-10-28 11:16:08 +08:00
William Cheng
d7d5e712e2 test jdk10, fix javadoc issue (#1335) 2018-10-27 18:54:16 +08:00
Juan Facorro
fc0a0d2cda Generator erlang-proper (#1102)
* Generator erlang-proper

Used to generate PropEr generators for property-based testing

* Fix binary/2 implementation. Add behaviour attribute.

* Remove line from copyright notice

* Avoid escpaing HTML and remove suffix from variable name

* Update samples

* Include querystring parameters

* We use export_all, don't consider warnings as errors

* List command sequence on failure

* Use hasConsumes instead

* Add nowarn_export_all, re-add warning_as_errors
2018-10-27 16:54:35 +08:00
Dennis Kieselhorst
a6b0a8b4b7 removed unused import to fix build (#1326) 2018-10-27 15:01:59 +08:00
topce
0a45890709 Fix angular 7 compile problem (#1297)
* fix wrong formParams type

* run typescript-angular-petstore-all.bat

* more typesafe fix

* fix formatting

* run typescript-angular-petstore-all.bat

* fix compile  problem with previous versions of angular

* generate code

* fix compile problem add <any>

* try Johannes Hoppe solution

* generate files
2018-10-27 14:27:52 +08:00
William Cheng
ceffdde2c0 update samples 2018-10-26 23:27:06 +08:00
William Cheng
71ecee02e9 Merge remote-tracking branch 'origin/3.4.x' into 4.0.x 2018-10-26 23:13:28 +08:00
William Cheng
ed2f6ea72e Merge branch '3.4.x' of https://github.com/openapitools/openapi-generator into 3.4.x 2018-10-26 22:30:19 +08:00
William Cheng
ef98971746 update samples 2018-10-26 21:43:38 +08:00
William Cheng
3482a0a993 Merge remote-tracking branch 'origin/master' into 3.4.x 2018-10-26 21:04:25 +08:00
William Cheng
6b41260755 update documentation 2018-10-26 21:03:17 +08:00
William Cheng
4a47acce19 Merge remote-tracking branch 'origin/3.4.x' into 4.0.x 2018-10-26 18:41:58 +08:00
William Cheng
9422dea149 Merge remote-tracking branch 'origin/master' into 3.4.x 2018-10-26 18:40:37 +08:00
William Cheng
3b53ac435f fix duplicate call in JS (#1270) 2018-10-26 18:28:37 +08:00
Erik Timmers
1b115bb4f7 [elm] Add flag to prefix custom type variants (#1288) 2018-10-26 18:20:36 +08:00
Yuriy Belenko
30062afc7c [Slim] Migration to PHP7 (#1263)
* [Slim] Add PHP 7.0 to requirements

* [Slim] Migrate to PHPUnit 6

* [Slim] Update user guide

* [Slim] Refresh samples
2018-10-26 18:15:41 +08:00
John Wang
ed8433a849 [Golang][client] fix response decode error handling (#1291)
* handle and return API response decode error

* ensure-up-to-date

* refactor go/api.mustache for easier readability

* disable error reporting for TestPlaceOrder with invalid RFC 3339 `+0000` UTC offset present in Petstore test server
2018-10-26 18:10:59 +08:00
Benoît Courtine
f4eb96933a [Rust] Client library choice between hyper and reqwest (#1258)
* Port of PR https://github.com/swagger-api/swagger-codegen/pull/8804.

* Correction of conflict with PR #528 (missing template file).

* Add rust-reqwest samples to Circle CI tests.

* Add integration test pom.xml file with launcher to trigger cargo execution.

* Deduplicate Maven project name.

* Fix "api_key" header for Petstore.

* Better API key management.

* Fix query param for lists of objects other than strings (numbers, etc.).

* Update to reqwest 0.9, and refactor of header management (using reqwest transition feature).

* Merge scripts generating rust-hyper and rust-reqwest samples.

* Consistent full stops.

* Use raw variables in all Rust mustache templates.

* Replace production build in CI with a quick simple check.

* Update samples.

* Finish Reqwest 0.9 migration (removing "hyper 0.11" transition feature).

* Configuration implements Default trait.

* API template reorganized: HashMap is not required anymore.

* Revert "Merge scripts generating rust-hyper and rust-reqwest samples."

This reverts commit 970f996566.

* Remove deprecated "-XX:MaxPermSize" java arg.
2018-10-26 10:24:14 +01:00
William Cheng
eb4dfe0fc1 update documentation 2018-10-25 12:29:54 +08:00
Fabrizio Ferrai
bbfaa90242 [Clojure] Fix tests: stop dashizing props names (#1310)
* [Clojure] Fix tests: stop dashizing props names

* [Clojure] Remove jdk7 tests
2018-10-25 12:19:52 +08:00
Yuen-Kuei Hsueh
d4a5cd05cc [Java][Spring] Add bean vaildation for email datatype (#1115) 2018-10-25 11:50:12 +08:00
William Cheng
196f1228e5 update python samples and comment out flake test (#1308) 2018-10-24 21:02:23 +08:00
feihongmeilian
24ea88495b For erlang-server. add two options: packageName and openAPISpecName (#1303)
* Implement the ability to read packageName and openAPISpecName from a json file

* Replace '{{openAPISpecName}}' with '{{{openAPISpecName}}}'

* Update erlang-petstore-server
2018-10-24 16:29:53 +08:00
William Cheng
76aedca6b2 Update test spec to use "localhost" instead (#1300)
* update test spec to use localhost intead

* add new files
2018-10-24 13:56:39 +08:00
William Cheng
3d7a019524 update samples and reenable ensure-up-to-date (#1304) 2018-10-24 13:56:24 +08:00
Nate Jensen
b36b4611de fix #1276 by adding colon (#1301) 2018-10-24 11:50:17 +08:00
Thibault Duperron
0aec7728f9 [Java][jaxrs-resteasy] add @Valid when bean validation is enabled (#1237) 2018-10-23 23:58:03 +08:00
mwoodland
258de8909d Add support for using Spring HATEOAS to add links in the spring gener… (#1130)
* Add support for using Spring HATEOAS to add links in the spring generator.

* Ensure that Spring HATEOAS links appear last in the JSON serialisation of objects.

* A couple of changes following code review:
1. Make sure the @JsonPropertyOrder annotation is only used when the jackson library is being used since it's a part of the jackson library.
2. Make sure to include the Spring HATEOAS dependency in the pom file for the spring-cloud and spring-mvc generators when the hateoas option is enabled.

* Don't order the json properties since there's no requirement for the links to be last.

* Remove unnecessary import.
2018-10-23 22:56:03 +08:00
William Cheng
4a0bc8f177 Merge branch 'Rizzen-ctor-without-parameters' 2018-10-23 21:50:43 +08:00
William Cheng
1418860c3a Merge branch 'ctor-without-parameters' of https://github.com/Rizzen/openapi-generator into Rizzen-ctor-without-parameters 2018-10-23 21:12:03 +08:00
William Cheng
8455dfe75d update petstore samples 2018-10-23 18:21:25 +08:00
William Cheng
0001682a08 Add file post-processing support for Java generators (#1052)
* add clang format support for java

* rename java env variable

* fix export command
2018-10-23 16:59:32 +08:00
Erik Timmers
e782001eb9 [elm] Add support for additionalProperties (#1262)
Fixes #1140.
2018-10-23 16:58:33 +08:00
john lilley
e06665f368 Set isModel property (#1275)
* Set isModel property

* Replace tab characters
2018-10-23 16:52:36 +08:00
Dec12 | Fujigon
bb056ccf3d [General] fix InlineModelResolver's logic and use openapi-generator's InlineModelResolver, so that nested "required" works correctly (#1200)
* fix InlineModelResolver's logis and use openapi-generator's InlineModelResolver, so that nested "required" works correctly

* add "required" to nested model schema

* update ensure-up-to-date to include openapi v3's jaxrs

* change test required field

* fix sample shell script, hide timestamp

* fix NPE

* move test case to petstore-with-fake-endpoints-models-for-testing.yaml

* fix jaxrs-jersey (oas3) example generate shell script to use petstore-with-fake-endpoints-models-for-testing.yaml

* add default value

* re-generate samples
2018-10-23 16:51:55 +08:00
Sebastian Rühl
51d2e4bd4c [TypeScript] typescript-axios: Added possibility to add custom axios instance. (#1274)
* typescript-axios: Added possibility to add custom axios instance.
This comes in handy if you want to use mocks in tests.

* typescript-axios: aligned to fetch API for custom instance
2018-10-23 16:42:10 +08:00
William Cheng
111a3626b2 update scala akka dependencies (#1294) 2018-10-23 16:34:27 +08:00
William Cheng
8507916d56 Update migrated generators in the migration guide (#1283) 2018-10-22 22:11:50 +08:00
William Cheng
a55533c178 Add "servers" support to Ruby API client (#1280)
* update ruby samples with OAS3 spec

* add server support to ruby api client

* minor format change

* minor format fix, skip form models

* better exception and add test for invaid value

* remove exception test code
2018-10-22 12:52:52 +08:00
raghuraman1
2b88a1d26f Boolean conversion for maven plugin (#1252)
* saving the fixes.
Used commons-configuration2 for
org.apache.commons.configuration2.PropertiesConfiguration.
It makes the configuration easier to read amongst other benefits

* removing tabs

* updating and simplifying based on sugegstion from William. This should
now fix across all generators

* upgraded pom

* added some javadocs for the new method
2018-10-21 22:24:17 +08:00
moreginger
33a1ac4397 Don't generate unused ApiException class for java/webclient. (#1165) 2018-10-21 22:01:47 +08:00
William Cheng
f1d4ae230e Remove outdated comment (#1268) 2018-10-21 21:39:26 +08:00
sunn
0853b2d31d Add ref support inside fromProperty (#1235) 2018-10-20 13:52:46 +02:00
sunn
e32b70d579 Allow all apis under a single endpoint to be hosted in one server (#1230) 2018-10-20 13:50:09 +02:00
Akihito Nakano
27fd224828 [CLI] Fix help command (#1279)
* Bump up airline

* Since airline 0.8, "ParserUtil.createInstance" requires CommandFactory
2018-10-20 15:06:55 +08:00
William Cheng
0326558f9a update spring core version (#1265) 2018-10-19 00:21:40 +08:00
William Cheng
147e193b31 minor doc revision (#1242) 2018-10-18 22:53:47 +08:00
Jérémie Bresson
16f1fc0739 Consider callbacks in unused schemas (#1232) 2018-10-18 14:58:28 +02:00
William Cheng
c1afba7194 Fix jackson-databind security issue (#1259)
* fix jackson databind security issue

* fix java jersey 1 dependency

* fix java webclient dep
2018-10-18 16:29:38 +08:00
William Cheng
dcde12ac07 Add "tomplus" to Python technical committee (#1264) 2018-10-18 11:29:52 +08:00
tca-ms
eccab2c025 Better context errors (#1198)
Update to version 2 of the `swagger` crate, which contains changes intended to make it easier to debug errors involving middleware and contexts. Crates making use of the autogenerated libraries to also update their swagger dependency to version 2. See [here](https://github.com/Metaswitch/swagger-rs/blob/2.0.0/CHANGELOG.md) for details.
2018-10-17 17:14:43 +01:00
William Cheng
40e90b5883 Merge remote-tracking branch 'origin/3.4.x' into 4.0.x 2018-10-17 00:06:12 +08:00
William Cheng
a3dc5ecc20 Merge remote-tracking branch 'origin/master' into 3.4.x 2018-10-17 00:05:47 +08:00
William Cheng
649d5a97b4 remove unused pom for circleci 2018-10-16 23:53:06 +08:00
William Cheng
83c55ec016 Merge remote-tracking branch 'origin/3.3.x' into 4.0.x 2018-10-16 23:42:29 +08:00
William Cheng
d8957af76b Update generator option (#1236)
* update generator option

* update kotlin option usage

* update lua option

* update wording for lua option
2018-10-16 23:05:14 +08:00
William Cheng
ebc2700a92 update gradle download link (#1254) 2018-10-16 23:04:50 +08:00
William Cheng
e42cac636a update clojure petstore samples 2018-10-16 18:06:05 +08:00
William Cheng
cfbc72f444 Merge branch '4.0.x' of https://github.com/openapitools/openapi-generator into 4.0.x 2018-10-16 16:16:28 +08:00
William Cheng
9e3c7781bb Merge remote-tracking branch 'origin/3.4.x' into 4.0.x 2018-10-16 16:08:11 +08:00
William Cheng
257a97b6cd update petstore samples 2018-10-16 13:19:40 +08:00
William Cheng
ffd72767af Prepare 3.3.2 snapshot version (#1249)
* release_version_update

* update readme

* restore felix version

* update petstore samples
2018-10-16 10:53:12 +08:00
William Cheng
0136aeefbc Prepare 3.3.1 patch release (#1247)
* release_version_update

* comment out ensure up to date

* release_version_update_docs

* update release table
2018-10-15 23:18:24 +08:00
William Cheng
0b6e63b427 add file post processing to csharp generator (#1238) 2018-10-15 15:25:19 +08:00
Jim Schubert
6817b4348f [cli] config-help writes doc-compat output (#1239)
This updates config-help to have more control over how the output is
written for the user. We dump config-help output for per-generator
documentation, and this cleans up some cross-platform compatibility
issues that might arise from tweaking the output for clarity in the
target file.

Previously, we'd pipe config-help output to sed, then insert the
generator name, which we then redirected to an output file. The sed
syntax had to include a trailing newline so our tabbed configs would
automatically become code tags in markdown. Inserting newlines into sed
replacement strings doesn't work the same across platforms, mostly
because of Apple's customizations to GNU programs.

This commit moves the generator name and newline insertion into the
command itself. It also includes a new --output option, allowing the
user to specify the output location of the config-help.

Currently, we only dump in plain-text, and it is only coincidental that
our plaintext output results in a desirable Markdown output. If
tabbed lines did not automatically convert to a code style block, some
generators like C# would end up with broken text (`List<T>` would become
just `List`, for example).

I had previously discussed extending config-help to output to other
formats like asciidoc. This commit does not introduce any steps toward
that end.
2018-10-15 15:21:13 +08:00
William Cheng
df98126354 Add an option to enable file post-processing (#1241)
* add option to enable post process file

* fix typo
2018-10-15 15:02:51 +08:00
Rubén Martínez
ded765bcb9 [C#] Fixed issue #1126 with invalid generation of C# children models in allOf clauses (#1127)
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.

* Fixed issue #1126. DefaultCodegen now sets the hasChildren property of CodegenModel when children models are added to the model. Changed the modelGeneric.mustache template to decide whether to include a base validation model (for children to inherit) based on the hasChildren property, and not the discriminator property.

* Run the ./bin/utils/ensure-up-to-date script after fixing the issue #1126

* Reverted modification in go samples, performed by ./bin/utils/ensure-up-to-date, that are failing in CI.

This partially reverts commit 2168df0f82.
2018-10-15 13:13:05 +08:00
Dec12 | Fujigon
12a702ee07 fix gradle build error on java9+ (#1240) 2018-10-15 11:09:38 +08:00
Dec12 | Fujigon
fbd4411b22 fix export_generator shell script (#1223)
* fix export_generator shell script

* fix script with bash

* use bash instead of sh
2018-10-14 21:11:59 +08:00
Christophe Bornet
34409bc0d8 Update spring-cloud generator to use openfeign (#1191) 2018-10-14 12:23:50 +08:00
Marcus Weaver
8909641667 Ctor without parameters 2018-10-13 23:26:44 +03:00
Nico König
9c736731f2 fix: fix return type for api interface (#1218) 2018-10-12 17:48:06 +08:00
Tomasz Prus
71aa421179 fix: python/asyncio no-ssl-verify affects verification of server certs only (#1211)
Bug fix: python/asyncio no-ssl-verify affects verification of server certs
2018-10-12 17:05:01 +08:00
William Cheng
11b7fb4f7b rename JS environment variable (#1214) 2018-10-12 17:03:50 +08:00
Andrew
ccf9611ad7 Add x-go-custom-tag to go-server generator (#1146)
* Add x-go-custom-tag to go-server generator

* update model templates to include x-go-custom-tag
2018-10-12 17:00:02 +08:00
William Cheng
dd8dd48a62 Revert "Various improvements (#1213)" (#1220)
This reverts commit 448680e764.
2018-10-11 20:11:51 +08:00
William Cheng
448680e764 Various improvements (#1213)
* update readme

* fix logger warning
2018-10-11 15:41:00 +08:00
William Cheng
32c1d9eea4 Verify updatePetWithForm in Go client (#1212)
* verify updatePetWithForm in go client

* update wording
2018-10-11 15:40:43 +08:00
Rubén Martínez
529a638d11 [C#] Fix issue #1088 with generation of enum classes referenced from other objects (#1089)
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.

* Fixed the #1088 issue by removing the update of enumeration properties while processing objects that reference them. Launched the ./bin/csharp-petstore-all.sh script.
2018-10-10 21:38:48 -04:00
Matthias Ramsauer
6acf45a108 x-www-form-urlencoded-body-fix (#1187)
* [go] x-www-form-urlencoded-body-fix

* [go] run scripts in bin and bin/security
2018-10-10 12:24:15 +08:00
Akihito Nakano
68a8f2976c [Spring] Fix character conversion error (#1195)
* Fix character conversion error

ref https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/ServletResponse.html
> To send character data, use the PrintWriter object returned by getWriter()

* Update samples

* Update spring-stubs
2018-10-09 18:29:58 +09:00
osharav
1a61456f71 Re-enabling typescript node test (#1190)
Explicitly adding node.js 8 type definitions before ClientResponse interface was removed due to deprecation.
2018-10-09 17:14:36 +08:00
William Cheng
56c4751e74 Add JDK 9 support (#1188)
* update jmockit version

* list jvm

* test jdk9 in appveyor

* use latest version of gradle

* update to jdk9

* use openjdk9

* use default java version in appveyor

* use jdk8 docker image

* consolidate bash, ios pom into parent pom

* consolidate circlecii pom into parent pom

* remove circleci pom.xml
2018-10-09 10:25:28 +08:00
mwoodland
8c0e130481 Allow specifying/overriding the parent in the pom file for Java and S… (#1132)
* Allow specifying/overriding the parent in the pom file for Java and Spring generators.

* Don't add extra whitespace to the pom file when the parent isn't overridden.

* Remove accidentally added white space.
2018-10-09 08:34:29 +08:00
Christophe Bornet
5ac33a49f1 [Flask] Upgrade to flask connexion 2.0.0rc3 (#1192) 2018-10-09 07:44:27 +08:00
William Cheng
22049db8c1 fix enum value, update dart petstore samples (#1193) 2018-10-09 07:08:04 +08:00
Kiran-Sivakumar
7d58f308d9 [Java][okhttp-gson] Fix bug when specifying grant-type (flow) for OAuth token retry (#1183)
* Fix bug when specifying grant-type for OAuth token retry

* Update samples

* Update security samples
2018-10-08 17:39:10 +08:00
stkrwork
52a112d90f [C++][Restbed] Fix default value for Restbed (#1186)
* Start working on fixing default value in Restbed Server Api Template

* fix default value in DefaultCodegen

* Revert "fix default value in DefaultCodegen"

This reverts commit ce690069d2.

* fix default value in cpprest

* update cpp restbed samples
2018-10-08 01:54:06 +08:00
William Cheng
e85c527f33 Update maven plugin version (#1184)
* update plugin version

* update version in CI pom

* use maven 3.2.5
2018-10-07 11:41:31 +08:00
William Cheng
999f472e4b Refactor default and example values in Java generators (#1045)
* fix default, example for java okhttp

* update java feign samples

* update samples, doc

* add new doc for dart-jaguar

* update model template

* update jaxrs spec model

* update resteasy sample

* update java samples
2018-10-07 03:56:16 +08:00
Akihito Nakano
a1d242595e Improve "allOf" support (#1169)
* Add test case which reproduces issue340

* Take the first $ref we find in the allOf-List
2018-10-05 23:28:35 +08:00
William Cheng
aa31e42ce7 improve go code format without gofmt (#1173) 2018-10-05 23:27:33 +08:00
raghuraman1
b0dfcf29b3 JAVA Spring <async>false</async> Pushing the improved fix (#1179)
* Pushing the improved fix

* reverting the unrelated change

* saving the revertal properly
2018-10-05 21:56:22 +08:00
mknoszlig
9939702f31 update outdated Vagrantfile. (#1156) 2018-10-05 12:45:59 +08:00
William Cheng
b4d835f683 rename perl environment variable (#1172) 2018-10-04 23:54:10 +08:00
William Cheng
06d31cfedb Better format for Ruby tests (#1166)
* better format for ruby test

* update ruby petstore
2018-10-04 23:53:46 +08:00
Steven Masala
3e3b03f93b FIX: remove special quotation marks from filename generation. (#1157)
* remove left|right point double angle quotation marks

* move to DefaultCodeGen and update TypeScriptAngularClientCodegen to reflect new clean function so that the filename AND imports are added correctly

* rename to a more accurate name :)

* shippable fixes

* shippable javadoc fix

* replaced cleanModelFilename with sanitzeName

* remove DefaultCodegen changes
2018-10-04 23:52:00 +08:00
William Cheng
55f26d31d3 Update README with 3.4.x (#1162)
* update README with 3.4.x

* fix div
2018-10-03 23:53:50 +08:00
William Cheng
5490bb8e9c update petstore 2018-10-03 18:36:12 +08:00
William Cheng
0f7557ca9d update version 2018-10-03 18:29:29 +08:00
Steven Masala
1916025a53 Fix: allow colons in TS interface property names (#1152)
* Allow colons in interface property names: https://github.com/OpenAPITools/openapi-generator/issues/1080

* replace tabs with spaces

* add docs

* add example in doc

* update docs

* update docs

* remove language specific docs in DefaultCodegen

* Delete addPet-BodyParams.csv

* remove toPropertyName and update toVarName instead for TS
2018-10-03 15:56:58 +08:00
William Cheng
4e8844273b Prepare 3.3.1-SNAPSHOT (#1154)
* update version

* update petstore samples
2018-10-02 09:40:27 +08:00
William Cheng
e22c7c1c8a 3.3.0 release (#1153)
* update using release_version_update

* comment out ensure up to date script

* update using release_version_update_docs

* remove current master
2018-10-01 23:56:52 +08:00
William Cheng
2b87b309ad Rename environment variable for Go to post-process file (#1091)
* renmae Go post process file env variable

* add back samples/client/petstore/c/libcurl.licence

* keep go samples up-to-date

* update go petstore samples

* update go samples without formatting
2018-10-01 21:24:32 +08:00
Erik Timmers
dcc0b5e772 [elm] Fix Byte encoder/decoder names (#1151) 2018-10-01 21:20:41 +08:00
William Cheng
3a5ec0a69d Minor enhancements to the MySQL generator (#1148)
* minor enhancements to the mysql generator

* add ybelenko to the README
2018-10-01 16:46:33 +05:00
William Cheng
5357791337 Merge remote-tracking branch 'origin/master' into 4.0.x 2018-10-01 16:38:26 +08:00
Yuriy Belenko
e4b5f50515 MySQL Schema Generator #955 (#1055)
* [Mysql Schema] Add new generator

* [Mysql Schema] Fix default definition

* [Mysql Schema] Add defaultDatabaseName option

* [Mysql Schema] Add jsonDataTypeEnabled option

* [Mysql Schema] Add samples
2018-10-01 15:59:18 +08:00
William Cheng
755dfe53de Better handling of different types in Elm generator (#1100)
* better handling of different types in elm generator

* [elm] Fix toString for special cases
2018-10-01 15:27:10 +08:00
kemokemo
2040050e55 [Golang][go-gin-server] Fixed issue 1122 with workaround (#1141)
[Golang][go-gin-server] Fix path parameter naming
2018-10-01 15:25:14 +08:00
William Cheng
cbc84254c3 rename scala post proessing env variable (#1143) 2018-09-29 21:39:37 +08:00
Antonio Bellezza
8b47984e3c [Scala-Akka] Generate default values for optional model fields (#1119)
* Generate default values for optional model fields in scala-akka

Fix #1118

* Updated akka-client petstore with defaults for optional model fields

* update petstore sample with scalafmt
2018-09-29 21:21:06 +08:00
Erik Timmers
345b7ec7e5 [elm] Major refactoring; add discriminator support (#1104)
* Use the same name for all exposed encoder & decoders;
* Improve imports (limit exposures);
* Add support for OAS3 discriminators;
* Distinct between 0.18 & latest mustache files.
2018-09-29 12:13:04 +02:00
William Cheng
cbddb08468 Add post processing to files generated by Haskell generators (#968)
* add hfmt support (without updating the sample)

* update haskell httpclient samples with hfmt

* add code format option to haskell servant, minor bug fixes

* update code samples with hfmt

* update samples using stylish-haskell

* rename env variable

* update haskell samples with stylish-haskell

* regenerate haskell samples without stylish-haskell

* regenerate haskell servant sample

* update example-app & tests-integration for OAS2 code
2018-09-29 17:21:03 +08:00
William Cheng
f1f7bdd23f Add nullable support to Python client (#1073)
* add nullable support to python client

* update PR template
2018-09-29 17:01:13 +08:00
Anand Shah
3a71e59e00 fix optional import (#1083) 2018-09-29 16:57:28 +08:00
William Cheng
da8cf01dfa comment out ts node test (#1142) 2018-09-29 16:38:52 +08:00
William Cheng
e0cbf46041 Add post processing to files generated by TS generators (#1063)
* add file post proess to TS generators

* update ts node petstore with prettier

* update base on feedback
2018-09-29 16:35:24 +08:00
Yuen-Kuei Hsueh
8e57e0d44f fix top-level enum class checking (#1120) 2018-09-28 22:04:41 +08:00
William Cheng
bd71e629a3 Add a link to an article about openap-generator (#1121) 2018-09-26 20:41:12 +08:00
Adam Drakeford
5aad02ed90 Fix for optional and default types (#1107) 2018-09-26 11:48:15 +01:00
William Cheng
70e6e119d1 update dependency (#1116) 2018-09-26 17:30:30 +08:00
William Cheng
4775c630aa Add myworkout to the company list (#1111) 2018-09-26 11:53:55 +08:00
William Cheng
cd8bf10b74 rename dart env variable for post processing file (#1101) 2018-09-25 17:23:02 +08:00
Jaumard
df61cd9cb3 fix model generator for snake case open api definition (#1076) 2018-09-25 17:22:19 +08:00
William Cheng
e3b26372cd Rename Env variable for Elm post process file (#1094) 2018-09-25 09:29:12 +02:00
William Cheng
8fb3b707a1 Add post processing to files generated by Python generators (#1072)
* add post process file to python generators

* update python samples with yapf

* revert sample change
2018-09-22 11:50:17 +08:00
kemokemo
14de289fc1 [Go] Add a generator for the gin framework (#1048)
* copy from go-server and add go-gin-server generator

* change the templates for the gin

* fix warnings of the golint tool

* fix the path of script

* add samples

* delete unnecessary comments (#1048)

* make the help message more appropriate (#1048)

* fix the link address format (#1048)

* minor improvement
2018-09-22 00:45:32 +08:00
herojan
abb2690ef5 Kotlin spring server codegen improvements (#1070)
* If required and readonly, a field should be optional. This is to allow people to get and easily put back.

* Use list instead of array, use String instead of kotlin.String etc

* Update samples

* code review: fix annotation formatting

* code review: revert change to use listOf
2018-09-21 16:14:50 +01:00
William Cheng
ed1277348d add logic to handle uuid in elm generator (#1075) 2018-09-21 21:56:44 +08:00
Elliot Lee
bde97b44b9 Update Usage instructions in README (#1071)
Fix #1040
2018-09-21 12:13:23 +08:00
Christophe Bornet
6dc618fa3f Fix flask connexion support (#1066)
Use the dev-2.0 git branch of flask connexion to fix the generator.
This is not ideal but better than a generator not working at all.

Fix #323
2018-09-20 19:48:28 +08:00
Benjamin Gill
c0a6eaab85 Trim trailing '/' from basePathWithoutHost (#967)
* Trim trailing '/' from basePathWithoutHost

Given that the normal use is {{{basePathWithoutHost}}}{{{path}}}.

* Trim trailing '/' from contextPath
2018-09-20 19:33:31 +08:00
William Cheng
29e9f5bda0 add nullable to Ruby client (#1059) 2018-09-20 19:31:47 +08:00
William Cheng
cc6efe01c7 Add file post processing to Ruby generators (#1062)
* add post processing for Ruby file

* move ruby file post process to abstract ruby class

* remove line break
2018-09-20 19:31:31 +08:00
Stephane Carrez
3cacbcb965 #1043 - [Ada] Operation security scopes are ignored when generating the server (#1044)
* [Ada] Operation security scopes are ignored when generating the server (#1043)
- Update fromOperation() to keep the operation required scopes for each auth
  method and store that information in the x-scopes vendor extensions attribute
- Update postProcessOperationsWithModels() to process the operation required
  scopes and build a list of authMethods which only contain the required scopes
  for the operation and store these authMethods in the x-auth-scopes attribute.
- Update postProcessAuthMethod() to handle the logic of filtering and building
  the operation authMethod (new instances are created because we must not
  modify the global authMethod definitions)
- Update the Ada server templates to use the x-auth-scopes instead of authMethods
  Add a URL prefix parameter for the Ada server instantiation

* Fix the Ada server template to use the x-auth-scopes for operation scopes
2018-09-20 19:31:11 +08:00
Kiran-Sivakumar
0e045bee1b [okhttp-gson] Add support for OAuth access token retry (#1058)
* Add support for access token retry in okhttp-gson lib

* Update expected number of generated files in test

* Update samples

* Update security samples

* Fix default user-agent and update samples
2018-09-20 19:29:59 +08:00
William Cheng
1b2f3fbfb6 Fix alias to map response (#1067)
* fix response reference to map

* update samples

* add null check for openapi
2018-09-20 19:29:33 +08:00
William Cheng
340466066c Add file post-processing to Swift 3.x, 4.x generators (#1069)
* update all swift samples

* format swift code with swiftformat

* minor format fix

* rename environment variable
2018-09-20 20:29:25 +09:00
Thomas Hansen
ca9a4a2ff3 PR: Fix error when giving an array as parameter to an endpoint body r… (#1037)
* PR: Fix error when giving an array as parameter to an endpoint body request

* PR #1037 - Fix issue with array as parameter to operation

* update samples

* PHP - ObjectSerializer::sanitizeForSerialization(): manage \stdClass objects properly

* update samples

* bug fix: missing "use" clause

* update samples

* Changes after @ackintosh review

* update samples
2018-09-19 19:58:56 +09:00
Brian Mooney
b7edad5cd0 Issue 1025: Kotlin generator doesn't support inheritance (#1026)
* allVars is duplicating child preoperties when models are inherited. Filter out these duplicates in the KotlinSpringServerCodegen
  * isInherited property was not being populated in the CodegenModel, re-parse the models in the KotlinSpringServerCodegen class and populate the property here
  * Add template support for Kotlin models which require inheritance from a base class to support oneOf declarations in the api yaml
  * Change optional for parameters to use Kotlins nullable
  * Update petstore api with Optional -> Nullable
2018-09-19 11:26:47 +01:00
William Cheng
78fae0ea49 Add nicokoenig to template creator list and TS tech committee (#1056) 2018-09-18 22:47:06 +08:00
Nico König
3027514242 feature: add scaffold for typescript axios template (#892)
* feature: add generator for typescript/axios

* feature: add sample scripts and sample code

* fix: set request body in data property

* feature: add samples and tests for typescript axios client

* test: add tests for typescript axios client
2018-09-18 14:23:52 +08:00
William Cheng
24b234bdbb Minor improvement to Dart generators (#1042) 2018-09-17 23:18:52 +08:00
manhhavu
9e1dfc0837 [Swift4] Use CodeableHelper's dateformatter in encode() if configured (#984) 2018-09-17 14:27:47 +08:00
Dec12 | Fujigon
5c794a01f8 [Java][Jersey] add @Valid when bean validation is enabled (#1019)
* fix template to add @Valid to POJO fields regarding nest, in java-jersey

* regenerate with for scr in `ls ./bin/*jersey*.sh`; do sh $scr; done

* re-generate with ./bin/openapi3/jaxrs-jersey-petstore.sh

* update api template for jersey1

* re-generate samples

* re-generate samples
2018-09-16 22:36:20 +08:00
Jérémie Bresson
27e343ffef [all] Add leading slash in path if missing (#1034)
* [all] Add leading slash in path if missing

* Fix unit Tests
2018-09-16 16:09:16 +08:00
Vladislav Cheparin
5fc76ba834 [Java][Retrofit2] The part name is not added to the annotation (#1029)
* fixed retrofit2/formParams.mustache

* added play26 to retrofit2-all.sh

* fixed samples
2018-09-16 16:00:38 +08:00
William Cheng
b909656418 fix postProcessFile log message (#1028) 2018-09-15 18:29:30 +08:00
Jérémie Bresson
fe0f2cfad6 [JaxRS-Spec] Fixes in generated pom (#1035)
* build-helper-maven-plugin to add src/gen/java as source folder
* update javax.ws.rs-api to 2.1.1
* add jackson as dependency
2018-09-14 16:59:49 +02:00
William Cheng
04bbd3b0e6 update dart tech committe and template creator (#1038) 2018-09-14 20:49:13 +08:00
ircecho
58e43ceeec [DART2] Maps could not be deserialized in dart 2 (#1007)
* fix[dart2]: due to stronger type checking in dart 2, maps could not be deserialized

* rebuild dart2 petstore
2018-09-14 18:40:37 +08:00
William Cheng
fc35bb17d0 Add option to enable scalafmt for code formatting (#1032)
* add option to enable scalafmt for code formatting

* fix typo
2018-09-14 16:58:27 +08:00
Juan Eugenio Abadie
48e66ed627 Avod use of an empty key value (#991) 2018-09-14 00:56:34 +08:00
William Cheng
c9625f3fd5 update petstore samples 2018-09-13 22:51:16 +08:00
William Cheng
94eb1c3c63 Merge remote-tracking branch 'origin/master' into 4.0.x 2018-09-13 22:46:21 +08:00
William Cheng
29322da2f6 Dart (Jaguar) client generator (#998)
* generator for dart jaguar

* migrate to openapi-generator

* fix locale issue

* add auth generation for dart jaguar

* fix generation of jaguar api with auth (#1009)

* update deps (#1016)

* add CI tests for dart jaguar

* update dart jaguar bin script

* trigger build failure

* Revert "trigger build failure"

This reverts commit a7d8bfd47a.
2018-09-13 21:39:57 +08:00
Akihito Nakano
9a19a064af Add a CLI option to control logging level (#1000)
* Add CLI option to control logging level

* Update the property name
2018-09-13 21:54:45 +09:00
William Cheng
95302efdfc Add option to set Feign version (#1005)
* Add option to set Feign version

* add java feign 9x to CI

* update usage for Play

* fix duplicated artifactId
2018-09-13 10:32:09 +08:00
William Cheng
096ac567ce Revert "[C++][Restbed] Fix default values for Restbed Server generator" (#1027)
* Revert "[gradle plugin] Support Gradle 4.10 (#1011)"

This reverts commit 131cf94fe4.

* Revert "[C++][Restbed] Fix default values for Restbed Server generator (#761)"

This reverts commit f29ba97e8b.
2018-09-13 09:21:39 +08:00
Jim Schubert
131cf94fe4 [gradle plugin] Support Gradle 4.10 (#1011)
* Support Gradle 4.10

Gradle 4.10 is bundled with Kotlin 1.60 and Kotlin DSL 1.0-rc1. The new
Kotlin DSL isn't binary compatible with the `tasks` registration used in
this plugin.

Updating to Kotlin DSL 1.0-rc1 with no other changes would require users
to update to Gradle 4.10.

As a workaround, I've modified the tasks registration being done in
OpenApiGeneratorPlugin.kt, so rather than using the Kotlin DSL's invoke,
it creates tasks manually against the TasksContainer. This works locally
with Gradle 4.7+ for all scenarios in the sample (samples/local-spec).
There may be edge cases that I'm unaware of, and we may want to consider
defining the minimum supported Gradle version of 4.10 in the next major
version of openapi-generator-gradle-plugin if we experience those cases.

* Uncomment snapshots repo (commented it during local testing)

* update pom.xml for exec gradle plugin
2018-09-12 19:19:45 -04:00
stkrwork
f29ba97e8b [C++][Restbed] Fix default values for Restbed Server generator (#761)
* Start working on fixing default value in Restbed Server Api Template

* fix default value in DefaultCodegen
2018-09-13 01:13:02 +02:00
Sean Farrow
59ad12183f Update the Asp.Net core server generator to support Asp.net Core 2.1 (#1008)
* Update the .net core sdk to v2.1 and update the asp.net packages used.

* Upgrade the SwashBuckle Asp.Net Core package to v3.0.0.

* Update the AppSettings json file and add a file used in development.
Also, remove the web.config file.

* Update the program template to use the web host builder class.

* Update the startup class to use the Asp.Net 2.1 paradigms.

* Update the launch settings json file.

* Update the controller template to derive from the ControllerBase class as aposed to Controller.

* Add the SwashBuckle annotations package.

* Add the SwashBuckle.AspNetCore.Annotations namespace to the controller template.

* Update the Startup template to add comments to the Configuration property and an env parameter to the Configure method.

* Update the startup class so we don't need to inject the hosting environment.

* Update the program class to have hte recommended CreateWebHostBuilder method from asp.net core 2.1.

* Update the asp.net core pet store sample server.

* add back aspnetcore 2.0 template via option

* remove web.config for aspnet core 2.1
2018-09-12 18:42:16 +08:00
sunn
3d4c3c545b [c++ pistache server] Support basic query handling (#943)
Support basic query handling

Add  helpers for primitive de-serialization
Remove warnings due to unneeded commas
Deserialize basic types in queries
Add dependencies chain for external libraries
Fixes wrong parameter passed to API
2018-09-12 09:53:01 +02:00
sunn
3cfcf77c88 Improvements for qt5 server (#942)
Remove beta tag
Supported nested containers
Move repetitive code to inline function
Fix docker file
Fix CMakeLists.txt when building external project
2018-09-12 09:52:00 +02:00
Adam Drakeford
1ae3403f6d [KOTLIN] [SPRING] Minor bug fixes to generator (#1001) 2018-09-11 21:41:12 -04:00
Juan Eugenio Abadie
2d99836e90 [C++] [cpp-rest-sdk] Check for null values (#990)
* Check whether a value is present but null

* Update Petstore sample
2018-09-11 00:15:44 +08:00
ircecho
6a1e560540 fix[dart2]: improved error reporting (#1006)
* fix[dart]: improved error reporting

* rebuilt dart2 petstore

* rebuilt dart2 petstore with dartfmt
2018-09-11 00:14:50 +08:00
Even André Fiskvik
f80fa08a01 [Swift4] Fix default value for enums (#652) (#656)
This fixes an issue that makes the swift 4 api client fail to compile when using enums with a default value.
The fix changes the toDefaultValue method to check if the property is of enum type, and then returns a properly formatted value.
Looking into the code, I wonder why toEnumDefaultValue is not being used here, which seems to be the case for the java implementation.
2018-09-10 00:18:49 +08:00
Jakob Schmutz
7596fb7119 fix circular import issue in python flask (#946)
* fix circular import issue in python flask

This is very similar change to 3678eaff87
All it intends to do is fix the problem of cirular imports (which was
already fixed for python) in the python flask server.

* removal of type hints in quotes
2018-09-09 23:23:06 +08:00
Ilya Hrankoŭski
aa29219f8c [Java][Feign] Add support for Feign 10 (#977) (#988) 2018-09-09 18:11:59 +08:00
Christophe Bornet
825404a1df [Spring] Fix reactive + delegatePattern option (#978) 2018-09-08 15:51:05 +02:00
William Cheng
47b3210cb2 Add js-beautify support to JS generator (#961)
* add js-beautify support to JS generator

* replace tab with space

* update samples without JS_BEAUTIFY_PATH
2018-09-08 18:06:27 +08:00
Akihito Nakano
1ead8bcca5 [PHP] Drop support for PHP5.5 on php-client (#993)
* Drop suport for PHP5.5 on php-client

* Update samples

bin/php-petstore.sh
bin/openapi3/php-petstore.sh

* Update security samples

bin/security/php-petstore.sh
2018-09-07 17:39:33 +09:00
Akihito Nakano
4a9b0a91aa [PHP]Generated lumen code can contain dots in routes (#985)
* Update README

* Remove the codes checking dots contained in path

* Update samples
2018-09-07 17:37:35 +09:00
Nathan Broadbent
a0f8c5e468 Ignore modules/openapi-generator-gradle-plugin/bin/ (#983) 2018-09-07 15:42:08 +08:00
Jérémie Bresson
abe741f989 Set swagger-parser and swagger-core to version 2.0.4 (#787) 2018-09-06 20:33:37 +02:00
Yann Milin
c5463232d3 [PHP] Fix deserialize ApiException as a Model (#757)
* [PHP] Fix deserialize for default responses. Update samples

* [PHP] Update sample files

* Fix the distination ("-o") of petstore-security-test

* Clean up "petstore-security-test" folder

* Update petstore-security-test sample files

* Update petstore OpenAPI3 sample files
2018-09-07 00:52:59 +09:00
Matt Melling
a8cbae4dc8 [PHP] Upgrade php-cs-fixer to 2.12, enables PHP >= 7.2 support (#769)
* upgrade php-cs-fixer to 2.12

* ran petstore-security-test for php

* updating openapi3 php petstore example
2018-09-06 20:48:00 +09:00
Esteban Marin
b9e9f54dab [Typescript] add missing type mapping (#973)
* #957: add missing type mapping

* #957: generate samples
2018-09-06 18:21:05 +08:00
Nathan Broadbent
5d259952b3 Added pry-byebug to debug Ruby client (#979) 2018-09-06 18:19:31 +08:00
William Cheng
e29f263941 Add perltidy to format Perl code (#970)
* add perl tidy without updating petstore samples

* incldue pl file, update samples

* use no backup option, perltidy on test.pl
2018-09-06 14:46:02 +08:00
William Cheng
39c734fc25 Better code format for Java (okhttp-gson) client (#971)
* better code format for java okhttp client

* update java petstore samples
2018-09-06 14:24:14 +08:00
Elan Thangamani
3abeb82685 Service Virtualization Feature enhancement (#196)
* Open Virtualan API Implementation

* Menu change

* Delete .swagger-codegen-ignore

* Delete jsonbeautifier.html

* Supporting files for Virtual service setup

* CRLF removed

* Unwanted new lines are removed

* Build issues resolved

* Build issue resolved

* Removed Logger statement

* Logger removed

* Updated

* Codegen virtual services samples for petstore.yaml

* - Code Revamp and Clean up
- Maven plugin related changes
- Samples added

* Tab space removed..

* Annotation based Service virtualization

* Open API code generator changes

* Virtualan samples added with Sprint boot app.

* Build issue resolved

* Removed unwanted files

* Updated with version 3.0.3 SNAPSHOT

* Reverted the options for virtual service in global and not needed now.

* virtualan-plugin integration with open api tool.

* Updated the all review comments and removed all tab spaces.

* Updated the ReadMe generator section.

* New line removed to fix the build issue.

* Spring boot virtualan included in the spring build script

* Included in the spring-all-petstore script
2018-09-05 16:38:06 +08:00
William Cheng
26591f5d7f Use elm-format to format Elm API client (#959)
* add elm-format support

* update elm petstore samples

* add trenneman to elm tech comm

* replace dart class with elm class

* revise elm format arguments

* update petstore samples
2018-09-05 08:04:27 +08:00
Nathan Broadbent
5d52bd51bf Generate a Gemfile.lock for the Ruby client, to keep versions consistent when running automated tests (#966) 2018-09-05 07:59:16 +08:00
Remi Patriarche
7a18a1a7b6 [typescript-angular] Add fileNaming configuration property (#767)
* resolve #727

* remove commented code
2018-09-05 07:57:11 +08:00
Jérémie Bresson
66022a1f22 Update swagger-parser to v2.0.3-OpenAPITools.org-1 (#951)
* Update swagger-parser to v2.0.3-OpenAPITools.org-1
* Run bin/rust-server-petstore.sh
2018-09-04 15:46:46 +02:00
delenius
9d89387d83 Fix cookie support in Node.js client (#895) 2018-09-04 16:31:33 +08:00
Marco
f7b807f980 [Java][Webclient ]Avoid double encoding on query params (#924)
* call build() with encoded = true

* Regenerate client
2018-09-04 15:58:14 +08:00
Erik Timmers
b24b6df448 [elm] Add support for Elm 0.19 (#937)
* [elm] Add support for Elm 0.19

* add elm 0.18 samples, update cli option

* fix elm 0.18 compile test

* [elm] 0.19 fixes & improvements
2018-09-04 14:24:43 +08:00
Benjamin Gill
9b38618f68 [rust-server] Restore support for nullable (#936)
* Restore support for nullable in rust-server

Accounts for changes in https://github.com/OpenAPITools/openapi-generator/pull/930. Adds a nullable field to the sample to reduce the risk of this regressing again in future.

* Add test for required nullable field
2018-09-03 13:17:27 +01:00
William Cheng
cabc1af823 Add swipesight to techcomm & his company to readme 2018-09-03 17:43:25 +08:00
Yuriy Belenko
8a034ce063 [PHP] Add interface/abstract/trait helpers (#906)
* [PHP] Enhance interfaces, abstracts and traits

It would be helpful to set prefix/suffix for all interfaces, abstracts
and traits in one place. Defaults are set to follow "PSR Naming Conventions".
If user will ask we can add prefix/suffix generator options in future.
I don't see modelPrefix generator option, so I assume it's not important now.

Ref: https://www.php-fig.org/bylaws/psr-naming-conventions/

* [Slim] Refactor to use new helpers

* [Slim] Refresh samples
2018-09-02 18:21:53 +05:00
William Cheng
cc53774180 better process handling in Go postProcessFile (#950) 2018-09-02 18:01:34 +08:00
William Cheng
d9400caf69 Set Dart2 as default, better format Dart code with dartfmt (#949)
* change dart default to v2

* add dart2 author

* add dartfmt to postProcess file in dart generator

* add dartfmt to format dart code
2018-09-02 17:59:42 +08:00
William Cheng
a2acfe3be0 add default value to swift3,4 podspec (#921) 2018-09-02 15:51:36 +08:00
Christophe Bornet
026c26075d Use better return types for the reactive option (#913) 2018-09-02 15:49:49 +08:00
Yimin Lin
8ccb7135d3 [Dart 2] Fix petstore tests (#954)
* properly initialized models in tests

* Revert "move dart2 test to the end"

This reverts commit 7d2edf4713.
2018-09-02 15:43:23 +08:00
William Cheng
d4c0de2876 update ruby petstore client Gemfile (#948) 2018-09-01 22:35:24 +08:00
William Cheng
e5244e8c3d Add postProcessFile, implement in Go generators to run gofmt (#929)
* add postProcessFile, implement in Go generators to run gofmt

* minor fix to docstring

* update parallel job to 3
2018-09-01 21:02:28 +08:00
Yimin Lin
d327c5be46 [Dart 2] Add support for Dart 2 (#754)
* Add an option for Dart2

* add dart2 samples, update travis

* fix dart installation

* Upper constraints on the SDK version

* Update dependencies

* supportDart2 option can now be passed through --additional-properties

* Update petstore tests

* Update dart2-petstore.sh

* Running tests on Dart VM

* Fixed JSON deserialization bugs

* Fixed missing initialization of postBody

* Run bin/dart2-petstore.sh to regenerate libraries

* Update pom.xml

* Added SDK version constraints in pubspec.mustache

* Run bin/dart2-petstore.sh to regenerate libraries

* move dart2 test to the end
2018-09-01 01:49:18 +08:00
Jérémie Bresson
31149a5a69 Publish documentation for the generators (#932) 2018-08-31 16:00:27 +02:00
Matthieu Berthomé
6bc3c70115 [PYTHON] Api doc python with multiple authentications (#928)
* [PYTHON] better code snippet for API usage with authentication

* update python samples
2018-08-31 21:35:37 +08:00
William Cheng
5ad471cc6e add back overtrue/phplint to php slim 2018-08-31 20:34:06 +08:00
Jeremie Bresson
dd35acdb92 Remove version in the copied jar
Modification introduced on "master" was dropped in "3.3.x" with merge
commit 3b2951b305
2018-08-31 10:26:10 +02:00
Christophe Bornet
aceec7a5a2 Merge pull request #939 from cbornet/linux_release_scripts
Make release script cross-compatible between Mac and Linux
2018-08-31 09:18:07 +02:00
Jérémie Bresson
f95dfbef75 Move "ensure-up-to-date" execution to CircleCI (#944) 2018-08-31 09:16:41 +02:00
Jérémie Bresson
baa70e51fe Merge 3.3.x into master (#938)
Merge 3.3.x into master
2018-08-30 17:04:08 +02:00
William Cheng
e7c05f16db update samples, re-enable ensure-up-to-date 2018-08-30 20:25:56 +08:00
cbornet
fd83b2d491 Make release script cross-compatible between Mac and Linux 2018-08-30 13:57:52 +02:00
William Cheng
f664938d8e add back phplint tool: e75b115 2018-08-30 19:57:22 +08:00
William Cheng
9e45fbb13b Merge branch '3.3.x' of https://github.com/openapitools/openapi-generator into 3.3.x 2018-08-30 19:48:01 +08:00
William Cheng
3b2951b305 Merge remote-tracking branch 'origin/master' into 3.3.x 2018-08-30 19:39:09 +08:00
William Cheng
5745f6df70 Prepare 3.2.3 release (#935)
* update release version, disabled ensure up to date script

* update release table

* update stable version to 3.2.3

* update samples/meta-codegen/lib/pom.xml and release_version_update.sh
2018-08-30 19:08:03 +08:00
Matthieu Berthomé
d49fb1c777 StringUtils functions (#859)
* extract StringUtils

* extract escape function

* fixup! extract escape function

* forbiddenapis fix

* fix merge issue

* put string utils methods as deprecated, call with FQDN to call the org.openapitools.codegen.utils.StringUtils static methods

* javadoc fix
2018-08-30 15:56:04 +08:00
Jérémie Bresson
f4d7403ed6 [Java][JAXRS] improve generated readme (#920)
* [Java][JAXRS] improve readmes

* Update samples

* Update jersey readme

* Update jersey examples
2018-08-30 14:05:34 +08:00
Jérémie Bresson
f987306a15 Remove x-nullable extension support (#930) 2018-08-30 07:54:34 +02:00
osjupiter
62abd51a02 [all] add "x-enum-varnames" extension to control enum varname (#917)
* add "x-enum-varnames" extension to control the naming of the enum parameter name
* allow to set different size from target enum
2018-08-30 07:23:19 +02:00
William Cheng
b8db2af4bb Update swagger annotation version in Java clients (#915)
* update swagger annotation version in java client

* add java retrofit2 play 2.6 to java petstore all bin script

* remove empty line in pom.xml
2018-08-29 16:43:41 +08:00
Jérémie Bresson
8e1e05e86c [CLI] Improvements for meta and list command (#799) 2018-08-29 06:56:37 +02:00
William Cheng
09a62d7fef Minor improvements to Kotlin Spring Boot generator (#918)
* minor improvement to kotlin sprinbboot generator

* add dr4ke616 to tech comm, add zalando to company list
2018-08-29 11:34:58 +08:00
Jim Schubert
2544ace262 [docker] Fixes hub dockerfile for online project (#914)
An update was made in #876 to remove version from the generated artifact
for openapi-generator-online. The change is missing the -online suffix.
My original glob pattern put the * in the wrong place for
maintainability.
2018-08-28 18:08:51 -04:00
William Cheng
a1205f6109 add https://www.boxever.com/ to the company list (#916) 2018-08-29 00:42:40 +08:00
lukoyanov
4558e49c7e [Java] Retrofit2 Play! Framework 2.6.x support (#901)
* added play framework 2.6 support

* generated petstore sample

* generated petstore sample #2

* generated petstore sample #3

* Revert "generated petstore sample #3"

* generated petstore sample #4

* fixed circleci configs

* one more time samples regen
2018-08-28 22:48:05 +08:00
Jack O'Sullivan
5926ee5f1f Add callback model (#861)
* Add callback model (#372)

This adds a new `CodegenCallback` class, a list of which is now present in
`CodegenOperation`. `CodegenOperation` now also includes a
`isCallbackRequest` boolean since `fromCallback()` (the method added to
`DefaultCodegen` to process operations which contain OpenAPI callbacks)
uses CodegenOperation as the model for a callback request.

A `CodegenOperation` which represents a callback request will have a
`null` operation id.

A test is included for this new model.

* Generate callback request `operationId`

* Add license to `CodegenCallback`
2018-08-28 21:10:13 +08:00
Adam Drakeford
8689227b3e [KOTLIN] Spring Boot Server Generator (#820)
* Kotlin Spring initial bootstrap

* Basic configuration construction for Kotlin Spring

* Wired up with comand line client

* Initial kotlin spring boot application generated using gradle kotlin-dsl

* Added basic support for generating models

* Basic controllers generated without endpoints generated

* Basic spring boot app generated with models and controllers

* Added fix for type mapping in AbstractKotlinCodegen. Originally it was mapping list o kotlin.Array instead of kotlin.collections.List

* Fixed return type mapping

* Sorted bash springboot petstore generator script

* Implemented toVarName in AbstractKotlinCodegen to better handle some edgecases

* Checking for reserved words or numerical starting class names in AbstractKotlinCodegen

* Implemented toOperationId in AbstractKotlinCodegen

* Fixed types that were not correctly being mapped to primitives (byte / arrayOf / mapOf)

* Escaping dollar symbols in function names

* Added support for outter enum classes

* Added basic support for generating services

* Removed option for generated config package. Added option to enable/disable generated global exception handler

* Added configuration option to generate gradle. Generated maven pom.xml file as default

* Fixed up bash scripts for generating test sample code

* Added configurable option for Swagger Annotations

* Added configurable option for generating service interfaces and service implementations

* Added README generation

* Enable optional bean validation

* Added kotlin spring sample to CircleCI pom.xml

* Removed kotlin spring boot from .gitignore

* Minor fixes from PR comments for user submission (#1)

* Minor fixes from PR comments for user submission

* Puts braces around conditional block bodies with one-liner bodies.
* Modifies README.mustache to use artifact id and version supplied by
user (or default configuration)
* Targets templates under resource directory explicitly to prevent the
need to rebuild for evaluation of  template-only changes.

* [kotlin-spring] Remove comments referencing sbt in bash scripts

* List of changes based upon code review:
* Additional comments around how we set the title based off the open api spec
* Fixed missing `beanValidationCore` template
* Put the lambdas into the lambda object as other generators do (Ktor, C#, cpp)
* Bump swagger-annotations version to latest pre-2.0 version (1.5.21)
* Set kotlin version to 1.2.60
* Updated README to set port based on template
* Added more additional properties to build bash scripts
* Removed `defaultBasePath.mustache` in place of using {{contextPath}} directly
* Log warning for when `serviceImplementation` is set t o true

* Updated samples

* Generating ConstraintViolation Exception Handler, as Springboot doesnt correctly catch the error and return bad request. Handling other exceptions a litle better

* Small fix for date time mappings (plus sample re-gen)

* Minor fix in README template, where port was using wrong variable

* Fix missing jackson-dataformat-xml dependency

* Fix build - needed to re-run kotlin-server-petstore.sh

* Fixes after merge with master

* Revert "Small fix for date time mappings (plus sample re-gen)"

This reverts commit 4152dc78b4813da71c675272ca90fb31a333aea1.

* Moved type mappings to Kotlin Spring generator

* Regenerated samples

* Regenerated samples
2018-08-27 23:54:53 +08:00
William Cheng
5cd5143b80 Add test case to detect stack overflow error (#904)
* add test case to detect stackoverflow errors

* use bash insted of sh
2018-08-27 20:46:50 +08:00
Jeremie Bresson
1ea0a1e856 Revert "[CI] Change the way gradle uploadArchives works (#902)"
This reverts commit e3bd47921c.
2018-08-27 10:51:51 +02:00
William Cheng
b505795bf7 use JsonIgnoreProperties to fix recursion (#903) 2018-08-27 16:14:35 +08:00
Jérémie Bresson
e3bd47921c [CI] Change the way gradle uploadArchives works (#902) 2018-08-27 09:06:54 +02:00
Yuriy Belenko
e75b115244 [Slim] Add PHPLint tool to check syntax (#898)
* [Slim] Add phplint package to dependencies

There is no phplint package for PHP 5.5.0 version, so I have to increase
required PHP version to 5.5.9.

* [Slim] Update main doc

* [Slim] Refresh samples
2018-08-26 15:42:59 +05:00
Yuriy Belenko
15cec0ae09 [Slim] Add PHP CodeSniffer to check coding style (#897)
* [Slim] Add PHP CodeSniffer package

* [Slim] Add phpcsStandard generator option

We follow PSR-2 coding style guide in PHP generators. It might be convenient
for users to specify own coding standard without modifying templates. That's
why I've added this option.

At first, I thought to add option validation and accept only standards from
predefined list. But this option also can be a full path to the standard's
root directory, I've changed my mind. User should use this option with caution.

Ref to all PHP CodeSniffer CLI options:
https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage

* [Slim] Extend readme with PHP CodeSniffer docs

* [Slim] Format templates to meet PSR-2

* [Slim] Refresh samples
2018-08-26 15:26:09 +05:00
William Cheng
4401407c7c remove eof from elm mustache template for better code format (#879) 2018-08-26 16:38:27 +08:00
Jeremie Bresson
a08f8d13e0 Merge remote-tracking branch 'origin/3.3.x' into 4.0.x
Conflicts:
	modules/openapi-generator-online/Dockerfile
	samples/*
2018-08-26 09:13:39 +02:00
Jeremie Bresson
267ffc0e2e Merge remote-tracking branch 'origin/master' into 3.3.x
Conflicts:
	modules/openapi-generator-online/Dockerfile
2018-08-26 08:26:07 +02:00
Jérémie Bresson
40d815946a [CI] use regex to check if TRAVIS_BRANCH is a working branch (#899) 2018-08-26 08:22:17 +02:00
Hugo Barrigas
37fd4264ac [JAVA][Webclient] Add constructor to allow custom WebClient to be passed into ApiClient (#882)
* add constructor to allow custom webclient to be passed into ApiClient
2018-08-25 15:22:36 +02:00
Marco
39e9206976 [Java][Webclient] Init authentication on ApiClient instantiation (#887) 2018-08-25 14:22:16 +02:00
William Cheng
50c6ac34f1 Add x-nullable (OAS2) support (#889)
* add x-nullable oas2 support

* add test spec for testing x-nullable
2018-08-25 18:31:23 +08:00
sunn
6a00b2a802 [cpp-pistache] removed model namespace when unused for operations (#775)
* Remove using model namespace when model is unused
* Add comments to clarify introduction of hasModelImport at API/operations level instead of operation/vendorExtensions level.
2018-08-24 10:52:01 +02:00
Jérémie Bresson
010b469914 [build] create jar without version in openapi-generator-online (#876)
Simplify other scripts needing this jar
Consistent with openapi-generator-cli
2018-08-24 08:50:26 +02:00
sunn
f802f8b7d7 [qt5 server] various improvements (#725)
* Improve handling of all primitive types

* Fix missing includes in case of simple APIs

* Fix minor error in template function

* Remove tabs

* Refactor code for simplicity

* Remove tabs

* rework the router for handling multiple path param

* rework router to handle multiple path parameters

* rework router to handle multiple path parameters

* rework router

* Add support for Multi path param

* Add comments to code block and remove duplicate parameters

* Remove tabs :(

* Add missing imports after resolving conflict
2018-08-24 08:47:01 +02:00
Matiss
219a88e9c6 Add support for Api key in cookie for Symfony (#884) 2018-08-24 09:53:25 +08:00
Tomasz Prus
79dacb20a0 fix: python-asyncio/aiohttp with disabled ssl verification (#891) 2018-08-24 09:43:32 +08:00
William Cheng
adbe478e0b fix toLowerCase with Locale.ROOT 2018-08-23 18:58:26 +08:00
William Cheng
704c1b8893 update petstore samples 2018-08-23 18:52:34 +08:00
William Cheng
780ba49da1 Merge remote-tracking branch 'origin/3.3.x' into 4.0.x 2018-08-23 18:39:54 +08:00
William Cheng
8be06bc22d Merge remote-tracking branch 'origin/master' into 3.3.x 2018-08-23 18:21:44 +08:00
Navneet Karnani
f2b0adfa05 Nit: Language fix in README.md (#871)
* Nit: Language fix in README.md

Usage of "then" vs "than"

* update TS petstore samples
2018-08-23 17:33:38 +08:00
William Cheng
4830be0ea4 Fix Elm CI issue due to new version (0.19) installation (#877)
* update elm usage

* remove yes from elm script

* install elm 0.18

* add npm cache

* add gem env to travis

* add gem cache directory
2018-08-23 16:25:26 +08:00
William Cheng
4a5bd50202 add xml attr support in go client (#867) 2018-08-23 15:23:49 +08:00
William Cheng
6a47d49ee8 add nullable support (#873) 2018-08-23 10:51:57 +08:00
William Cheng
3d06900e68 Prepare 3.2.3-SNAPSHOT version (#870) 2018-08-22 13:39:20 +02:00
William Cheng
3259bf71e6 3.2.2 release (#869)
* run bin/utils/release_version_update.sh

* comment out ensure-up-to-date script

* run bin/utils/release_version_update_docs.sh

* fix link to lc3
2018-08-22 16:44:31 +08:00
Michael Kotten
526e980a69 [JAXRS] use contextPath variable for @ApplicationPath in RestApplication (#850)
* Use contextPath variable for RestApplication templates
* Update generated RestApplication.java files, as they are skipped by default otherwise
* Update Petstore sample for jaxrs so that CIs can verify the change
2018-08-22 09:15:08 +02:00
Jeremie Bresson
ab09909f99 Add missing import 2018-08-22 06:53:48 +02:00
Matthieu Berthomé
d8b597b168 [DefaultGenerator] consider referenced headers (#863) 2018-08-22 06:07:57 +02:00
Jens Oberender
9bc335b35e Forbiddenapis check and fix (#672)
* Added forbiddenapis check and fixed the findings in the normal code
* Fixed forbiddenapi findings in java templates and samples.
* Generated all samples for Java.
2018-08-22 06:06:01 +02:00
William Cheng
227f2779d7 escape various descriptions in the spec (#866) 2018-08-22 11:48:32 +08:00
William Cheng
2ffda45adf Add https://www.suva.ch/ to the company list (#868) 2018-08-22 10:43:32 +08:00
marcotta
bb2712fe45 Use thread safe manager store dictionary (#864)
Fix crash due to concurrent access of managerStore dictionary.
Swift2 and Swift3 had been enhanced respectively with the following
pull requests: #3873 #5610
2018-08-22 02:27:40 +08:00
Jim Schubert
cbf61d5524 [docker] build files for automated builds (#836) 2018-08-21 23:08:24 +08:00
matthesrieke
39763a8ca7 fix unescaped description in requestBody (#857)
Fix unescaped description in requestBody
2018-08-21 22:28:32 +08:00
Jim Schubert
aa19369466 📝 Remove swagger comment, fix typo in README (#862)
I had previously copied the multi-task description in the gradle
plugin's docs from a response made in an issue. The reference to 'the
old swagger plugin' have no context in the gradle plugin README, so I've
updated that wording.

Also, I found that the link to openapi-generator-cli.sh in the root
README was broken. It pointed to openapi-generator.cli.sh instead of
openapi-generator-cli.sh.
2018-08-21 22:13:55 +08:00
Jérémie Bresson
3f65d6c350 [all] Support for Free-Form Objects (#849)
Consider "additionalProperties: true"

Fixes #796
2018-08-21 12:26:54 +02:00
Yuriy Belenko
99646e6436 [Slim] Update main documentation (#839)
* [Slim] Update main documentation

Kotlin server README has been used as a ref. There are no links to apis and
models docs, because Slim codegen doesn't provide them right now.
Also I'm not sure about white spaces, but we can change it anytime in future.

* [Slim] Refresh samples
2018-08-21 18:25:43 +08:00
Dominik Sumer
450d624474 add possiblity to pass baseOptions to the API Configuration, which will be passed to every fetch call (#642) 2018-08-21 16:25:56 +08:00
OmriHarary
ca0c35aa15 [java-server] Fix improper quoting of default values for query parameters (#708) 2018-08-21 10:17:31 +02:00
Daiki Matsudate
fcfd8ea76e Update swift samples (#738)
* update all swift samples

* fix method name starting with number literal

* better handling of operationId starting with number

* update swift 4 samples
2018-08-21 15:17:56 +08:00
ccozzolino
2044c36398 Adjust client response handler to be backwards compatible with older versions of Vert.x (<3.5) (#854) 2018-08-21 13:12:18 +08:00
Yuriy Belenko
d374e1c160 [Slim] Official htaccess (#838)
* [Slim] Change htaccess to official

Slim docs contains more simple htaccess example.
https://www.slimframework.com/docs/v3/start/web-servers.html#apache-configuration

* [Slim] Refresh samples
2018-08-21 11:59:29 +08:00
Jean-François Côté
ee491a0e5e Fix problems in typescript jquery generator (#801)
* Add missing curly bracket + remove unnecessary `postProcessParameter` because it add 2 time "models."

* Add generated client for samples
2018-08-20 08:44:46 -04:00
Yuriy Belenko
e605882451 [PHP] Add gitignore to AbstractPhpCodegen (#765)
* [PHP] Remove PHP related rules from root gitignore

After conversation with @ackintosh we've agreed that every PHP codegen
should create it's own `.gitignore`. Client libraries(SDKs) should ignore
`composer.lock` file while server stubs better do opposite.

* [PHP] Set .gitignore as default supporting file

* [PHP] Add default gitignore to Client SDK

* [PHP] Add default gitignore to Laravel

* [PHP] Add default gitignore to Lumen

* [PHP] Add default gitignore to Silex

Seems like issue #663 and pull request #681 missed this security script,
I've changed output path in bin/security/silex-petstore-server.sh.

* [PHP] Update Slim

* [PHP] Add default gitignore to Symfony

I've copied few old rules from root gitignore to local one. These rules
should be reviewed by original SymfonyCodegen authors.

* [PHP] Add default gitignore to Zend

* [PHP] Refresh Openapi3 client samples

* [PHP] Add refs to .gitignore templates collection
2018-08-20 12:16:01 +08:00
Jérémie Bresson
b91c8e17a7 Improve documentation for usage of a generator in an other jar (#817) 2018-08-20 12:15:10 +08:00
Matiss
dcc622d374 Improve Symfony 4.1 compatibility (#830) 2018-08-20 12:11:33 +08:00
Jim Schubert
a3e5edc367 📝 Updating 'help generate' switches in README
Adds new --log-to-stderr as well as a missed option for
--skip-validate-spec.
2018-08-19 21:37:20 -04:00
Jack O'Sullivan
bd7c9e30d3 [cli] Don't log to STDOUT if debug flags are set (#474)
It makes sense that error messages should be written to STDERR and
all others should be written to STDOUT (as shown in #207). However, it
would be convenient to parse the debugging output when the relevant
flags are set.

This change will disable logging to STDOUT and redirect all log messages
to STDERR when any of the debug flags are set. (Resolves #473)
2018-08-19 21:33:49 -04:00
Jim Schubert
62dfb749f1 [gradle-plugin] README notes on multiple specs (#847)
A user asked about how one would approach generating code from multiple
specifications. Adding this information to the README, as it seems
others would find the information helpful. Also explaining how to use
tasks from this plugin as this may not be commonly known or intuitive
beahvior.
2018-08-19 16:17:26 -04:00
Tino Fuhrmann
3b9de3baa3 Added server variable support (#816)
* Added server variable support

* Replaced tabs with 4 spaces
2018-08-19 17:45:55 +08:00
William Cheng
d593988e5d fix erlang optiona/required parameters (#829) 2018-08-19 14:52:21 +08:00
Victor Orlovsky
0191210145 [Java][Rest-assured] Fix generated javadoc and "swagger-annotations" improvement (#831)
Added "@Api" swagger annotation, "nickname" for ApiOperation. 
Fixed javadock for rest-assured client.
2018-08-17 18:15:02 +02:00
William Cheng
0f30a052b2 Add an option to skip "form" model generation (#700)
* add option to generate all models

* update doc

* rename option to skipFormModel

* update petstore samples

* Update doc

* Update samples
2018-08-17 17:22:30 +08:00
Rytis Karpuška
1c6ab3f831 Add localVar prefix to parameterized functions variables in cpprestsdk in order to make name clashing less probable. (#731) 2018-08-16 18:16:58 +08:00
William Cheng
5ffc297a69 Fix Ruby script path in ensure-up-to-date (#823)
* fix ruby script path in ensure-up-to-date

* bin/ruby-client-petstore.sh
2018-08-16 13:59:47 +08:00
Victor Orlovsky
e7340bfe5b [Java][Rest-assured] Fix "invokerPackage" in ApiClient, remove unnecessary @Authorization (#822) 2018-08-16 06:15:15 +02:00
William Cheng
e5b6d525c7 update ruby pestore client 2018-08-16 01:34:25 +08:00
William Cheng
d1f7e16daa Merge branch '3.3.x' into 4.0.x 2018-08-16 01:01:34 +08:00
William Cheng
f22e9c27a9 Merge remote-tracking branch 'origin/master' into 3.3.x 2018-08-16 00:45:29 +08:00
William Cheng
ca651becf8 Add support for multi consumes in inline schema (#789)
* add support for multi consumes in inline schema

* add copyright

* revert redirectTestOutputToFile change in pom.xml
2018-08-16 00:24:19 +08:00
William Cheng
6de09688ad Add auto-generated readme for cpprestsdk client (#814)
* add auto-generated readme for cpprestsdk client

* update cpprest client sample

* remove error message from cmake
2018-08-16 00:23:48 +08:00
William Cheng
94806b8036 update release table (#818) 2018-08-16 00:23:27 +08:00
Michael Kotten
fa52826c24 [JAXRS-spec] Add option useSwaggerAnnotations (#813) 2018-08-15 18:05:47 +02:00
Victor Orlovsky
7b8f51a465 [JAVA][Rest-assured] add more information about operations (#815)
Add swagger annotations to client and set default baseReqSpec and baseContextConsumer in ApiClient
2018-08-15 17:56:14 +02:00
Jérémie Bresson
79b993e6d5 Prepare version 3.2.2-SNAPSHOT (#810) 2018-08-14 13:38:18 +02:00
William Cheng
56bba880e7 3.2.1 release (#807)
* 3.2.1 release

* roll back incorrect change to link

* update doc

* update 3.1.2 release

* Fix version table
2018-08-14 17:47:59 +08:00
Jim Schubert
7acba8a4d8 [generator] Cleanup debugOpenAPI usage/display text (#804) 2018-08-14 11:45:50 +08:00
Geoff Brown
08ca54d3d5 Fixed date formatting in typescript node client (#786)
Fixes #785
2018-08-13 19:27:31 +02:00
William Cheng
7b04732f09 better explain usage (#794) 2018-08-13 09:30:18 -04:00
Fabrizio Ferrai
74d70121d1 [Clojure] Add model generation and conforming (#122)
* [Clojure] Add model generation and verification

- Generate clojure.specs from models
- Optionally validate them at runtime (validation is active if
  orchestra.spec.test/instrument is called after specs are imported)
- Coerce the results of the API calls to get objects that conform
  to the spec (e.g. get Date objects for dates and time instead of strings)

* [Clojure] Make model conforming configurable and opt-out

* [Clojure] Move specs from a single file to a ns per model

So that the order of the forms will be resolved by the compiler,
otherwise we'd have to implement a topological ordering.

* [Clojure] Update petstore sample and set automatic decoding off

* [Clojure] Stop testing Clojure generator on Java7

* [Clojure] Fix tests and handling of multiple arity

* [Clojure] Fix tests and add testing for the new decoding feature

* [Clojure] Capitalize names of generated models

* [Clojure] Rename petstore specs to be capitalized

* Revert to lowercase spec names, and postfix the data specs
2018-08-13 15:04:25 +08:00
William Cheng
b64864f47d Fix float/double default value in C# generator (#791)
* fix float/double default value

* better code format

* better CI for openapi3 batch files (C# client)

* update nancyfx samples

* pipe output to /dev/null to reduce log size

* fix windows batch file

* add C# API client generated by OAS3 spec
2018-08-13 13:28:22 +08:00
William Cheng
c237fe9f1c Enhancements to documentation generators (samples, default values, etc) (#790)
* enhancements to doc generators (samples, default values, etc)

* add 3.3.x to PR template
2018-08-13 13:27:45 +08:00
Jérémie Bresson
5e1c4cde50 Remove duplicate variable declaration (#792) 2018-08-13 13:26:34 +08:00
attrobit
1559c4fadd Issue 758 root resource (#771)
* Unit-Test for JavaJAXRSSpecServerCodegen.

* Path generation for primary resource fixed.

* Unit test for toApiName.

* Review-Feedback: blank line removed.
2018-08-12 22:37:19 +08:00
Rytis Karpuška
0cd6d8c139 Do not declare destructor as default when destructor is explicitly declared. (#732) 2018-08-12 13:44:07 +02:00
William Cheng
ddb0920fed Fix C# client enum issue (#774)
* fix csharp enum issue

* fix numeric enum value

* add docstring to exlain isDataTypeString

* fix docstring by adding return

* fix ToJson in hash model

* remove BaseValidate for map model

* restore csproj file
2018-08-11 11:34:20 +08:00
Akihito Nakano
21777f2759 [JavaScript] Update vulnerable dependencies (#784)
* Update vulnerable dependencies

* Update samples: javascript-es6

* Update samples: javascript-promise

* Update samples: javascript-promise-es6

* Update samples: javascript

* Update samples: petstore-security-test/javascript

* Rename operationId if it starts with a number

* Update samples

bin/javascript-petstore.sh
bin/javascript-es6-petstore.sh
bin/javascript-promise-petstore.sh
bin/javascript-promise-es6-petstore.sh
2018-08-10 21:50:33 +08:00
Yusuke Iinuma
afdef8f890 [Ruby] Fix method split (#780)
* Fix methods split for readable

* Recreate sample
2018-08-10 17:25:22 +08:00
Dec12 | Fujigon
d019bbd2c7 [Java][jaxrs-jersey] add sample with jaxrs-jersey + openapi v3 (#778)
* create sample with "jaxrs-jersey" language & openapi v3

* circle ci setting

* fix typo. also add "jaxrs-jersey" to all samples profile

* artifactId conflicts. rename.

* generate samples with "./bin/openapi3/jaxrs-jersey-petstore.sh"
2018-08-10 17:24:24 +08:00
William Cheng
748d1d70cb update groupId in pom (#779) 2018-08-10 15:48:19 +08:00
Daniel Miller
987fd77042 [cpp-restsdk] Support multi-line descriptions (#753)
* Update IndentedLambda to take optional prefix

* Add `multiline_comment_4` to CppRestSdkClient

* Update cpp-restsdk example
2018-08-09 19:01:15 -04:00
antihax
a0984a9be8 [Core] Resolve Inline Models (#736)
* Add InlineModelResolver.java

* fix inline schema for OAS2 body parameter

* skip warning, fix MapSchema cast error
2018-08-09 23:27:51 +08:00
Jim Schubert
9920c435ca [gradle] Support nullable system property values (#764)
The gradle plugin sets all System properties before generation, then
reverts them back to their original state.

System.getProperty/setProperty return null if the property was not
previously set. The Kotlin map was defined with non-nullable key/value
constraints, so setting something not commonly set (modelDocs: "false")
would result in an runtime exception.

This changes the map to support nullable values, and rather than setting
a null System property at the end, it clears those which previously had
no value.
2018-08-09 15:56:15 +08:00
David Webster
4060fcbb8b Correct URL for openapi-generator.cli.sh in README.md (#770) 2018-08-09 10:42:11 +08:00
Rubén Martínez
d0ccac5663 Fixed the generation of model properties whose data type is a composed (allOf) schema (#704)
* #582 Fixed the generation of model properties whose data type is a composed (allOf) schema. Before this fix, the data type name of the generated property was that of the first model participating in the allOf clause. After this fix the property data type is again as expected: the one of the composed schema and not one of its parents.

* Added unit test in order to have regression testing in the fix for the #582 issue (references to composed schemas should not get unaliased for them to get a proper data type name in the generation of model properties).

* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.

* Removed tabs from ModelUtilsTest.java
2018-08-08 13:06:42 -04:00
William Cheng
06263d7606 [JAX-RS][Spec] Add samples to CircleCI (#759)
* test jaxrs spec server petstore in circleci

* remove duplicated entries in pom

* trigger build failure

* Revert "trigger build failure"

This reverts commit 35ac96ed4a.
2018-08-08 11:50:33 +08:00
William Cheng
3245c0a139 minor update to python generator usage (#762) 2018-08-08 11:21:34 +08:00
stkrwork
aed8e38584 Merge branch '3.3.x' into 4.0.x 2018-08-07 17:11:21 +02:00
stkrwork
546b54b15d Merge branch 'master' into 3.3.x 2018-08-07 17:10:25 +02:00
stkrwork
0809d8f527 [C++][Restbed/Pistache] Added fix for byte array (#752)
* Added fix for byte array

* Fix spacing

* Adapted default value for ByteArray

* Adapted default value for ByteArray in Pistache Server
2018-08-07 17:07:05 +02:00
sunn
baf16cf834 [cpp pistache] use model namespace only on Model import (#733)
Don't use model namespaces when not imported
2018-08-07 15:19:56 +02:00
Dec12 | Fujigon
629608c573 [jaxrs-spec*] samples should be tested. repair import and dependency. (#755)
* sample server projects "jaxrs-spec", "jaxrs-spec-interface", and "jaxrs-spec-interface-response" should be tested

* update jax-rs api to 2.1, in which @PATCH annotation is available
add jackson annotation dependency

* add joda-time to dependency

* modify mustache template to add @JsonCreate, @JsonValue import

* fix return type of enum value() method

* add InputStream import

* Attachment class is in apache cxf. spec should not depend on it

* re-generate sample jaxrs-spec, jaxrs-spec-interface, and jaxrs-spec-interface-response
2018-08-07 16:45:09 +08:00
William Cheng
3746fae2ca Merge remote-tracking branch 'origin/3.3.x' into 4.0.x 2018-08-07 16:04:17 +08:00
sunn
e143214685 [cpp pistache] fix leading number in model names and apply modelNamePrefix in all cases (#730)
* Fix numbers in nameInCamelCase. Add possibility to prefix Names to avoid conflicts
* Allow unique prefixing for template functions as well
2018-08-06 22:22:22 +02:00
William Cheng
2340d83a33 add 3.3.0 to readme 2018-08-07 01:39:54 +08:00
William Cheng
69852123e0 prepare 3.3.x branch 2018-08-07 01:35:30 +08:00
William Cheng
90a8b81728 Prepare 3.2.1-SNAPSHOT release (#748)
* prepare 3.2.1 SNAPSHOT release

* update doc to use 3.2.0 stable version
2018-08-07 01:31:37 +08:00
William Cheng
30fb22fffa update readme with links to 3.2.0 JAR 2018-08-06 23:47:36 +08:00
William Cheng
f329872ce7 3.2.0 release (#744) 2018-08-06 22:06:39 +08:00
Alexey Alekhin
05db32fea2 [Elm] Template improvements (#661)
* Add elm template parameter to the samples testing script

* Update elm-date-extra package; fixes #458

* Update generated elm samples

* Use Elm doc comments; remove some unneccessary newlines

* Update generated Elm samples

* Remove unnecessary parenthesis around non-optional container type
2018-08-06 18:17:59 +08:00
William Cheng
c116c8fb9b [PHP] Decommission "packagePath", add new option "packageName" (#681)
* remove packagePath from php file location, use -o instead

* fix php symfony top folder

* restore pacakgePath

* update php laraavel samples

* remove packagePath from PHP generator

* add new silex files

* update window batch - php silex

* fix openapi3 silex script
2018-08-06 18:10:34 +08:00
William Cheng
1ab4fe43b5 fix petstore security spec to remove validation errors (#739) 2018-08-06 17:02:02 +08:00
Jon Schoning
f6c21057e1 [haskell-http-client] regen samples (#709)
* [haskell-http-client] regen samples

* ensure the haskell-http-client samples are always up-to-date
2018-08-05 15:11:52 -05:00
William Cheng
c9085b4f2b Update Q&A based on feedback from users (#695)
* update qna based on feedback from users

* Improvements

* minor fix to typo
2018-08-05 17:49:36 +08:00
William Cheng
c44d91c673 update petstore samples 2018-08-03 12:36:57 +08:00
William Cheng
f6146b212f [PHP] better operationId handling, add CI for PHP slim server (#723)
* better operationId handling, add CI for PHP slim

* use spaces instead of tabs

* replace tab with space

* install php
2018-08-03 10:47:54 +08:00
Akihito Nakano
2b429ee43b [PHP] [Laravel] Fix syntax errors in models (#721)
* Fix syntax errors in Models

* Update samples

./bin/php-laravel-petstore-server.sh
2018-08-03 10:44:12 +08:00
William Cheng
be2a0170b7 Merge remote-tracking branch 'origin/master' into 4.0.x 2018-08-03 00:10:34 +08:00
David van Laatum
a258cf3fc6 #714 prevent throwing another exception if the request fails eg connection reset (#715)
* prevent throwing another exception if the request fails eg connection reset

* prevent throwing another exception if the request fails eg connection reset
2018-08-03 00:02:09 +08:00
William Cheng
07a5715b9f Add template creator: C++ qt5 server, php laravel (#720) 2018-08-02 22:39:37 +08:00
William Cheng
f32398a708 add dockerfile for ror, fix template issue (#718) 2018-08-02 22:07:09 +08:00
William Cheng
f0425d77ef [Ruby] Better handling of operationID starting with a number (#719)
* better handling of operationId starting with numbers in Ruby

* update Rubocop to use Layout
2018-08-02 22:00:50 +08:00
William Cheng
e0020b41da underscore classVarName to fix route issue in ROR (#706) 2018-08-02 21:42:09 +08:00
William Cheng
375c26ccb3 add option to select db adapter in ror (#711) 2018-08-02 13:52:34 +08:00
William Cheng
40024ac72a [Go] Prefix enum number with _ (#703)
* prefix enum number with _ in go

* reformat code, use else if
2018-08-02 10:13:01 +08:00
William Cheng
ab08dd1d26 Better handling of operationID starting with numbers (#691)
* add numeric operationid to test spec

* better handling of operationId in more generators

* fix go toOperationId

* update samples

* update java samples

* update java samples (vertx, webclient)

* update java google api client sample

* fix typo, update OAS3 test spec, update php petstore (oas3)

* defer camelize in operationid

* remove duplicated sanitizeName
2018-08-01 22:31:58 +08:00
William Cheng
21141f682f Fix Javadoc string error in Java (rest-assured) client (#702)
* fix docstring

* trigger build failure

* Revert "trigger build failure"

This reverts commit 12cd26f0ca.

* update java samples
2018-08-01 22:13:41 +08:00
Jeremie Bresson
d8ea28e147 Update "phpunit.xml.dist" 2018-08-01 14:43:34 +02:00
Victor Orlovsky
82156b6639 Added constant "httpMethod", "summary" (#697) 2018-08-01 12:02:11 +08:00
Jérémie Bresson
3085bf1df5 [typescript] allow $ in var name (#694) 2018-07-31 19:36:16 +02:00
Yuriy Belenko
58e0946b1e [Slim] Add Basic authentication middleware (#606)
* [Slim] Add Basic Authentication Middleware

User needs to add own implementation to verifyCredentials method in AuthBasic.php.

* [Slim] Update README template

I'm not sure about `middlewareSrcPath` variable. I'll fix it in following PRs
if path is broken.
Hope that notice in README catches attention and most of users will read it.

* Revert "[Slim] Update README template"

This reverts commit 204ee02fd8.

* Revert "[Slim] Add Basic Authentication Middleware"

This reverts commit 6a8e03079a.

* [Slim] Add "tuupola/slim-basic-auth" package

Package "tuupola/slim-basic-auth" 3.1.0 requires PHP 7, that's why I
set it's version to ^3.0.0 in Composer. Minimum version will be
3.0.0-rc.1 which supports PHP 5.5. I've tested build with PHP 7, it
would be nice to check build with PHP 5.5 someday.

* [Slim] Update README template

Not sure about forward slash in path to SlimRouter class. I will fix it
in upcoming PRs if necessary.

* [Slim] Refresh samples
2018-08-01 00:55:30 +08:00
Christoph, René Pardon
f793ac25c7 feat (PHP LARAVEL) 8417: initial PHP-laravel codegen integration (#574)
* feat (PHP LARAVEL) 8417: initial PHP-laravel codegen integration

* feat (PHP LARAVEL) 8417: code review adjustments

* feat (PHP LARAVEL) 8417: fix typos; add missing files; adjust readme for those unfamilar with laravel to get started quickly

* feat (PHP LARAVEL) 8417: add sample petstore server

* feat (PHP LARAVEL) 8417: adjust route service provdider and model generation
2018-08-01 00:34:33 +08:00
René Winkelmeyer
d1fc923b66 Re-implementation of Apex client code gen (#698) 2018-07-31 23:02:25 +08:00
Jérémie Bresson
f1897c4462 Update swagger-parser to "2.0.2-OpenAPITools.org-1" (#696) 2018-07-31 14:02:35 +02:00
William Cheng
d8ec6b2003 [Apex] migrating to OpenAPI Generator project (#692)
* [apex] migrating to OpenAPITools

* migrate apex to openapi-generator
2018-07-31 15:28:54 +08:00
Jérémie Bresson
824654964b Use Released version in maven samples (#693)
* Fixing maven examples:  set version to last released version and other improvements
* Include example poms in the "release_version_update_docs.sh" script
2018-07-31 06:32:24 +02:00
William Cheng
0c52fcd5ff udpate rust server samples 2018-07-31 11:33:23 +08:00
sunn
926b971497 [qt5 server] Improvement in response handling (#675)
* Remove warnings and add custom request sending

* Remove duplicate code from subclass and add missing setupRoutes

* Removed redundant override

* Add serialization of responses

* Fix CI failure

* Add inline function to duplicate code.

* Make const reference wherever possible

* Add support for Array of Primitive types.

* Add Array of Primitive support for Error response

* Update for multiple path params
2018-07-31 00:16:46 +08:00
Jérémie Bresson
1e95d36809 Add "Validate spec on generation by default" section (#683) 2018-07-30 17:53:26 +02:00
Benjamin Gill
a3e5185e39 Ignore additional properties (#671)
* Ignore additionalProperties

rust-server doen't yet support them, and they cause quite a bit of havoc at the moment (ending up as the `HashMap` type).

* Use .equals() rather than `==`
2018-07-30 23:06:05 +08:00
William Cheng
1cbfca4887 Update instruction to disable validateSpec (#684) 2018-07-30 13:29:05 +02:00
Benjamin Gill
b0909ade6f [rust-server] add support for '|' in path segments (#667)
* Added encoding for vertical bar character in object IDs for client requests

* Updated sample
2018-07-30 18:38:52 +08:00
William Cheng
036fa6918c fix operation id starting with number for python client (#682) 2018-07-30 15:42:06 +08:00
sunn
b587052de4 cpp-tizen extends AbstractCppCodegen (#676)
* cpp-tizen extends AbstractCppCodegen

* Update javadoc comment
2018-07-30 15:33:00 +08:00
Benjamin Gill
cb9a734ebb [rust-server] add support for multiple samples (#658)
* Add support for multiple rust-server samples

Though we only have the one as yet. This will make it easier to move rust-server back on to the main test spec, whilst preserving the ability to have rust-specific test specs.

* Rust samples need unique names

* Move samples to a dedicated directory

So that there is nothing else in the folder where they live so that the workspace definition in the root Cargo.toml can be simple.
2018-07-30 15:31:55 +08:00
William Cheng
01dbb8b693 fix base path when it's not defined in the spec (#678) 2018-07-30 15:09:56 +08:00
Rubén Martínez
68d80ab67d [Java][Client][RestTemplate] Fixed invalid URL-encoding of query parameters (#646)
Fix for the #644
2018-07-30 08:38:10 +02:00
Jérémie Bresson
14ab3d763e Consider cases where complexType is null (#680) 2018-07-29 13:10:58 +02:00
Benjamin Gill
3c3ac0a071 Add extra modules to main dockerfile (#650)
So that the mvn build is successful
2018-07-28 16:10:49 +08:00
Rytis Karpuška
0b88889cdf [cpp] Sanitize identifier names (#631)
* [cpp] Sanitize identifier names

* Remove duplicated methods in cpp code generator subclasses.

* Fix unintended codegen differences in cpp tizen caused by it not extending AbstractCppCodegen class.
2018-07-28 15:23:35 +08:00
William Cheng
2f85867963 update php lumen samples 2018-07-28 10:39:17 +08:00
William Cheng
3b1029ada4 Merge remote-tracking branch 'origin/master' into 4.0.x 2018-07-28 01:12:00 +08:00
William Cheng
b33f1f945b add stop wait to spring pom (#670) 2018-07-27 23:41:31 +08:00
Jérémie Bresson
c7953ac137 Split release_version_update script in 2 scripts (#657) 2018-07-27 18:32:13 +08:00
sunn
534b6b5978 [cpp qt5 server] Improve qt5 server naming (#655)
* Adapted according to reviews

* Add changed files

* Update beta tag to the naming
2018-07-27 01:49:26 +08:00
Benjamin Gill
b6fc29050d Implement stack for Swagger Context (#612) 2018-07-27 01:48:43 +08:00
William Cheng
8cbd57d829 Merge remote-tracking branch 'origin/master' into 4.0.x 2018-07-27 00:29:44 +08:00
William Cheng
7e494e52ab Various improvements (#653)
* improve validation error message

* minor improvement to qt5 c++ server

* fix invalid spec (causing shippable failure)

* Revert "minor improvement to qt5 c++ server"

This reverts commit 56f356cc51.
2018-07-26 23:10:15 +08:00
William Cheng
75e5ed2f68 Merge remote-tracking branch 'origin/master' into 4.0.x 2018-07-26 22:51:23 +08:00
Benjamin Gill
7624a1ff85 Various enhancements to html2 docsgen (#643)
This commit includes the following changes:

- Fix docs not generating parameter descriptions, add rust sample.
- Add example to doc output.
- Add basic scope reporting.
- Stringify the JSON "Example" objects for response schemas.
- Prettify JSON examples in response schemas.
- Parse and present multiline response descriptions.
- Add API error details to docsgen.
- Add read only markers to read only properties.
- Fix up style document indentation.
- Add support for `x-shared-errors`, an extension to define common error types that can be shared across a microservice framework.
2018-07-26 21:57:57 +08:00
Benjamin Gill
1d72edddf6 Avoid HTML escaping of rust-server output (#645) 2018-07-26 21:46:59 +08:00
Akihito Nakano
c9b934147a [PHP] Escape media type (#615)
* Move escapeMediaType() to AbstractPhpCodegen

* Escape media type

* Update samples

- bin/php-lumen-petstore-server.sh

* Refactoring: remove unused 'import'
2018-07-26 21:26:01 +08:00
sunn
65bad61abb [Qt5 Server] Add Support for Qt5 server using QHttpEngine (#322)
* Initial wiring to get the QHttpEngine Server running for Qt5 server

* Add wiring for build environment

* Add current generated files

* Update README.md

* Solved Build for Docker and Host
Wired up main
TODO : Route API call to handlers

* Wire up routes

* Wiring up routes update

* Convert Path to QHttpEngine format

* Rename some files

* Extract query Parameters and path parameters

* Removed pri file, Qt can read CMakeLists.txt

* Initial support of deserialization

* Adding initial support for response serialization

* Setup simple signal handler to quite the server with Ctrl+C in a container and on the host

* Remove unneeded function

* Add executable permission to script and move from Debian to Alpine for Dockerfile

* Add stringValue of missing types

* Unify toJson'xxx' APIs the same way like setValue

* Rework to remove all pointer usages, pass by const references, simplify model, add emit signals to default handlers
2018-07-26 18:30:13 +08:00
Jim Schubert
77df3d6770 Validate spec on generation by default (#251)
* Validate spec on generation by default

Adds a validation parameter to CodegenConfigurator, and passes through
options from CLI, Maven Plugin and Gradle Plugin to that property.

Default is to validate the spec during generation. If spec has errors,
we will output errors as well as warnings to the user.

Option can be disabled by passing false to validateSpec (Maven/Gradle)
or --validate-spec (CLI).

* Prepare version 3.1.1-SNAPSHOT

* fix version

* Use last prod version for the sample

* Update README.md

Fix

* [cli] Option parser does not support true/false for boolean options
2018-07-26 17:36:08 +08:00
Jérémie Bresson
a8e8acead7 [java] add useNullForUnknownEnumValue option (#633) 2018-07-26 11:00:45 +02:00
Jeremie Bresson
6460bb2897 Merge remote-tracking branch 'origin/master' into 4.0.x 2018-07-25 22:07:47 +02:00
Rytis Karpuška
44d419c1a1 Fix inconsistent parameter names when ensuring uniqueness. (#640) 2018-07-25 21:46:56 +02:00
Jérémie Bresson
60c81eae0a Prepare version 3.2.0 (#651) 2018-07-25 20:27:16 +02:00
Jeremie Bresson
00246f3ea0 Merge remote-tracking branch 'origin/master' into 3.2.x
* Solve Conflicts
* Activate "ensure_up_to_date" script
* Remove references to the "3.2.x" branch

# Conflicts:
#	CI/pom.xml.bash
#	CI/pom.xml.circleci
#	CI/pom.xml.circleci.java7
#	CI/pom.xml.ios
#	modules/openapi-generator-cli/pom.xml
#	modules/openapi-generator-gradle-plugin/gradle.properties
#	modules/openapi-generator-gradle-plugin/pom.xml
#	modules/openapi-generator-maven-plugin/pom.xml
#	modules/openapi-generator-online/Dockerfile
#	modules/openapi-generator-online/pom.xml
#	modules/openapi-generator/pom.xml
#	pom.xml
2018-07-25 18:19:37 +02:00
William Cheng
6f19fa7e91 Release 3.1.2 (#647) 2018-07-25 18:09:52 +02:00
Jeremie Bresson
70cdd27e75 Merge remote-tracking branch 'origin/master' into 3.2.x 2018-07-25 16:51:19 +02:00
Jim Schubert
c6004a8f89 Adds a simple bash completion script (#277)
* Adds a simple bash completion script

This works with any loading script named openapi-generator-cli.
That is, if you've installed via homebrew or created a script similar
to https://gist.github.com/jimschubert/ce241b0c78140e364f46914ef8ec4103

This script is relatively simple, relying on fallback to the recently
add "completion" command to the CLI project.

The script includes a possible extension to allow for per-language
options to autocomplete when the user is applying additional properties.
This work is currently commented out, as it may be simplified a bit in
the CLI first.

* Add launcher script and "install" instructions
2018-07-25 19:12:41 +08:00
Jérémie Bresson
85f0909c7f Fix parameter in PathItem (#639) 2018-07-25 12:27:05 +02:00
Marvin
37be47fc56 [Java] Escaping properties for java (#628) 2018-07-24 12:41:18 +02:00
William Cheng
86d7009f4c replace tab with spaces, fix empty spaces in new lines (#632) 2018-07-24 17:30:54 +08:00
Daniel Miller
530065137d [cpp-restsdk] Generate mockable APIs (#595)
* Port GMock feature from NativeInstruments

swagger-codegen fork:
https://github.com/NativeInstruments/swagger-codegen/pull/9

* Update petstore for Mockable APIs

* Fix shared_ptr in templates for File params

* Add guards in templates for GMock APIs

* Regenerate samples without GMocks

* Add useful constructors for GMock APIs

* Add constructors to API header interface

* Update samples with explicit monadic constructors

* Add default implementations for destructors
2018-07-24 15:31:21 +08:00
Benjamin Gill
59d38d7dd2 Update the set of propose PR branches (#627) 2018-07-24 07:20:17 +02:00
Ted Epstein
59bd3b6dcb Add RepreZen API Studio to Companies/Projects (#620)
* Add RepreZen API Studio to Companies/Projects

Per discussion with @wing328

* Corrected alphabetical order

Corrected alphabetical order of implementations, in response to review comment from @wing238.
2018-07-24 12:13:28 +08:00
William Cheng
27a356dacf default isAddExternalLibs to true (#626) 2018-07-24 12:08:29 +08:00
William Cheng
22c79cf470 update petstore samples 2018-07-24 11:01:07 +08:00
くろねこまいける
2e1add83e7 BugFix: Dart-lang template bugs (#567)
* BugFix: [Dart] Cannot get/set data from json when underscore("_") is included in spec.yaml's property name

Because the property name is always lowerCamelCase

* BugFix: When type is "Date", it is not correctly output
2018-07-23 23:48:20 +08:00
Euan Kemp
2e6bec7345 [Rust] Split out request logic, implement form parameters (#528)
* [Rust] Move request logic into standalone file

This reduces the number of variables which are used in the generated
operations, thus fixing #512.

This also fixed a TODO related to URI parsing errors.
Other than that, it is meant to be functionally identical.

* [Rust] Add support for non-file form params

Up until now, they just weren't there at all

* [Rust] Use more rustic terms in example
2018-07-23 23:10:53 +08:00
William Cheng
024dde11d7 Merge remote-tracking branch 'origin/3.2.x' into 4.0.x 2018-07-23 23:05:25 +08:00
William Cheng
667e3130fe Merge remote-tracking branch 'origin/master' into 3.2.x 2018-07-23 23:04:28 +08:00
Benjamin Gill
a9961a062a [rust-server] Drop file support (#547)
* [rust-server] drop 'file' support

In swagger v2, we had 'binary', 'byte', and 'file'. OpenAPI v3 only has
the former two. This commit drops the old 'file' handling. This has the
side-effect of removing a half-complete implementation of form parameter handling.

This removes the ability to send files as streams, so will make life
harder for those wishing to send large files without running out of
memory.

* Remove all remaining uses of `hasFile`
2018-07-23 18:46:35 +08:00
John Wang
af3ca293e4 Add link to Go contribution quickstart article (#622) 2018-07-23 18:36:39 +08:00
Jérémie Bresson
d42ff75ceb Handle variables in server declaration (#614) 2018-07-23 06:20:41 +02:00
William Cheng
4156bb9f01 remove cpp pistache petstore test from travis ci 2018-07-23 01:01:32 +08:00
William Cheng
5328f103da Add C++ Pistache petstore server to Travis CI (#616)
* test cpp pistache petstore in travis

* make build_petstore executable

* add submodule update init

* use addExternalLibs option

* update samples

* update gcc version to 5

* fix addon, env

* restore cargo path

* trigger build failure, add cache

* undo build failure change
2018-07-22 16:41:20 +08:00
sunn
1dee3e227c [cpp-pistache] add the option to fetch dependencies (#495)
* Add the Possibility to fetch dependencies needed by the generated code

* Fix typo

* Make External Libraries default to false

* Add parameter string to the javadoc comment
2018-07-22 10:46:38 +08:00
Rubén Martínez
0da55081c9 [Java][Client][RestTemplate] Do not create new Object for empty body (#605)
#513 Fixed error that causes exception when trying to perform HTTP requests without a body and an empty Object is used as body instead. In these cases an exception is thrown indicating that it is not possible to find a message converter for java.lang.Object and application/json.
2018-07-20 17:49:12 +02:00
Akihito Nakano
af9d57e4b9 [PHP] Remove platform dependency from file path (#610) 2018-07-20 17:45:24 +02:00
Tomasz Prus
8867d2b34c Support for python 3.7 by renaming async to async_req (#519)
* feat: support for python 3.7

* fix: regenerate other sample clients
2018-07-20 22:14:18 +08:00
William Cheng
eeda132e73 add badge to maven store and twitter (#607) 2018-07-20 22:12:48 +08:00
sunn
97d6b71460 [cpp-pistache] Fix compilation of petstore for Pistache (#497)
* Fix compilation of petstore for Pistache
Add Map support

* Add support for ByteArray

* Add Support for ByteArray in cpprest

* Implement TODOs
2018-07-20 22:04:25 +08:00
William Cheng
1b2d12286f CircleCI: run Java8, Java7 tests in parallel (#608)
* run circle jobs in parallel

* fix circleci file

* disable parallel run

* fix build type

* fix circleci config parse error

* move mvn install to circle.yml

* revise circleci tests

* trigger test failures

* remove failure trigger
2018-07-20 18:45:14 +08:00
Matthieu Berthomé
c70ed678f6 Add "docExtension" option to customize generated file extension for docs (#591) 2018-07-20 07:21:36 +02:00
Reinhard Pilz
ab9be95442 Fix arrays with maxItems 2147483647 (#603) 2018-07-19 17:16:15 +02:00
William Cheng
71ef6a0a2b update petstore samples 2018-07-19 19:28:31 +08:00
William Cheng
d2db799a93 update petstore samples 2018-07-19 19:06:48 +08:00
William Cheng
07b8040122 Merge remote-tracking branch 'origin/3.2.x' into 4.0.x 2018-07-19 18:56:13 +08:00
William Cheng
888da52181 Merge remote-tracking branch 'origin/master' into 3.2.x 2018-07-19 18:46:18 +08:00
Benjamin Gill
bd33a333af Ensure rust-server sample is kept up to date (#600) 2018-07-19 18:16:36 +08:00
Georg Rollinger
f7617bc628 [typescript][jQuery] Fix promise resolution (#581)
* typescript-jquery: fix promise resolution

The type annotation that is generated for an API states that the
JQueryPromise<...> will be resolved with a single value.
The implementation, on the other hand resolves with two.

This changes the implementation to resolve the promise in accordance
with the type annotation.
It also adds another type specifying what will be passed if the promise
is rejected.

* Update petstore sample for typescript-jquery
2018-07-19 18:04:43 +08:00
Benjamin Gill
c5e170961f [rust-server] enhance support for middlewares (#552)
* Generate RequestParser trait to allow retrieving operation ID in middlewares

* Update function name

* Fix incomplete comment

* Add comment poitning out auotgenerated duplication

* Final generation of sample scripts

* MMORCH-913 - Allow passing wrapped hyper clients to codegen

* Deprecate old API for back-compatibility rather than removing it

* Actually test Rust-server example integrations
2018-07-19 18:03:02 +08:00
William Cheng
e02e875978 Update gradle dependency for Java RESTEasy API client (#597)
* update resteasy gradle dependency

* remove java8 option when testing resteasy (java)
2018-07-19 17:57:21 +08:00
Marvin
52cd17ecc7 [Java][RESTEasy] Fixed setting of custom headers (#599)
Fixed header generation. Previously the key was used as value parameter.
2018-07-19 11:55:01 +02:00
Dimtiriy Remerov
76160b53c7 [php-symfony] Fixed a bug with access of non-existing property in generated code (#578)
* [php-symfony] Fixed a bug where Controller accessed non-existent property

* [php-symfony] Regenerated petstore sample
2018-07-19 15:32:15 +08:00
Niklas Werner
80cf1324c5 C Generator Sample - Improvements (#558)
* Added a .gitignore to ignore the build folder

* Added a CMakeLists and a basic implementation of a double linked list

* Added the pet model

* changed the behaviour when a list gets freed - the data of each element doesn't get freed anymore

* Added the tool uncrustify in order to make code look better

* Uncrustified code

* added an implementation(constructor and deconstructor) for the category model

* Added a third party JSON library

* The pet struct now uses pointers for its members; the pet struct now has a proper constructor and a basic toJSON method

* The pet model now gets fully serialized into JSON

* Fixed the example url...

* Added third party library libcurl

* Modified category struct and added an unit test

* Added a foreach macro and added two functions

* Added a tag model and an unit test

* the pet struct now uses no double pointer for it's name anymore and no pointer for the enum status anymore; the pet struct can now be fully converted to json and parsed from json

* Added the struct APIClient and an unit test

* Uncrustified the unit test for category

* Added ifdef in pet.h to prevent errors

* Added one API endpoint to get a pet by id

* Added a "== 0" comparison that I forgot

* Added some kind of debug functionality to test-petApi.c

* Removed the DEBUG define

* Moved the c petstore example from samples/client/c to samples/client/petstore/c

* Renamed function getPetById to petApi_getPetById to avoid name collisions

* Removed unecessary method in list.c

* Added POST functionality; added petApi_addPet method and improved unit-test for petApi; cleaned up some code in apiClient

* removed two methods in list.c(string/tag to JSON) and moved their code directly in the pet_convertToJSON method

* Removed old, already commented out, puts artifact in apiClient.c

* Added a convertToJSON method to the category model

* Added a convertToJSON method to the tag model

* changed how the convertToJSON method works in the pet model

* Adjusted the unit-tests on how the convertToJSON method now works(now returns a cJSON* instead of a char*)

* apiClient_t now needs to be given to API methods as a parameter. This means apiClient_t can now be reused in multiple methods.

* Added an untested concept for how authentication could be handled

* Tested basicAuth using wireshark and added untested OAuth2 feature

* Added support for api key authentication using the http-header and tested functionality using wireshark

* Renamed the dataToPost parameter in apiClient_invoke to bodyParameters

* Renamed apiKey_t to keyValuePair_t and implemented GET queries

* Spaces are now being replaced with + in querryParameters

* Renamed assembleHeader to assembleAPIKeyAuthentication and added support to change the request type

* Implemented the option to provide custom httpHeader fields to apiClient_invoke

* Added support for form parameters to the apiClient_invoke method

* update petstore sample
2018-07-19 12:22:38 +08:00
John Wang
0f0d8a01cb [Golang][client] Add option for standard Go generated code comment (#555)
* update go generated code comment

* update samples for go petstore

* update code generation comment

* update samples for go petstore

* Trigger CI due to previous Shippable race condition

* add -DwithGoCodegenComment=true option

* reset samples

* add withGoCodegenComment=true to bin/go-petstore-withxml.sh

* update samples/.../go-petstore-withXml using -DwithGoCodegenComment=true
2018-07-19 12:21:51 +08:00
delenius
995edc0b75 Fix version incompatibility in resteasy client (#594) 2018-07-19 10:50:59 +08:00
Jean-François Côté
5344a02bbc Multiple enhancements to typescript fetch generator (#145) 2018-07-18 13:38:47 -04:00
Jeremie Bresson
eb09731a65 Merge remote-tracking branch 'origin/3.2.x' into 4.0.x 2018-07-18 12:32:55 +02:00
Jeremie Bresson
45ed374b62 Merge remote-tracking branch 'origin/master' into 3.2.x 2018-07-18 12:19:41 +02:00
Jérémie Bresson
1e596496a5 Prepare 3.1.2-SNAPSHOT (#589) 2018-07-18 11:44:23 +02:00
Jérémie Bresson
761799abf5 Release 3.1.1 (#588) 2018-07-18 09:31:56 +02:00
Jérémie Bresson
baaa335664 Add documentation for CodegenDiscriminator (#587) 2018-07-18 09:07:35 +02:00
Daonomic
0a52f56ba4 Support for discriminator.mapping (#536) 2018-07-18 06:14:42 +02:00
William Cheng
7c9d40016f update petstore samples 2018-07-18 01:52:58 +08:00
William Cheng
1d53ed5095 Mark rust-server as migrated (#584) 2018-07-18 01:44:16 +08:00
Akihito Nakano
6d6ef0f120 [PHP] Refactor php client generator (#504)
* Extends AbstractPhpCodegen instead of DefaultCodegen

* Remove fully duplicated methods with AbstractPhpCodegen

* Remove duplicated properties with AbstractPhpCodegen

* Remove duplicated codes in constructor with AbstractPhpCodegen

* Add typeMapping "date". Moved from PhpClientCodegen

refs: 3c34c0b377 (diff-f1801ef05a7926bf394c90f44ae4ab3dL132)

* Remove duplicated codes in processOpts()

* Remove unnecessary 'implements'

* Remove unnecessary method override

* Use setter

* Merge getTypeDeclaration() into AbstractPhpCodegen

* Merge processOpts() into AbstractPhpCodegen

refs:
* 296e6d3db4 (diff-f1801ef05a7926bf394c90f44ae4ab3dL139)
* 296e6d3db4 (diff-f1801ef05a7926bf394c90f44ae4ab3dL147)
* 296e6d3db4 (diff-f1801ef05a7926bf394c90f44ae4ab3dL153)

* tweak

* Optimize IF statement

* Remove duplicated methods

* Merge setParameterExampleValue() into AbstractPhpCodegen

* Merge toEnumVarName() into AbstractPhpCodegen

* Merge toEnumName() into AbstractPhpCodegen

* Merge escapeUnsafeCharacters() into AbstractPhpCodegen

* Merge postProcessOperationsWithModels() into AbstractPhpCodegen

* tweak

* Recover missing method

refs: 2ad0f6f7d4 (diff-f1801ef05a7926bf394c90f44ae4ab3dL91)

* Tweak test case

refs: 4e7b7afc1a

* Remove unnecessary 'import'

* Update lumen and ze-ph samples

- ./bin/php-lumen-petstore-server.sh > /dev/null 2>&1
- ./bin/php-ze-ph-petstore-server.sh > /dev/null 2>&1

* Update slim samples

* Fix script name

* Update silex samples

* Update kotlin-server
2018-07-17 09:27:02 +08:00
Akihito Nakano
afb238814d [Ruby] Abstract Ruby Codegen (#562)
* Add AbstractRubyCodegen

* Refactor constructor

* Move escapeReservedWord() to AbstractRubyCodegen

* Move getTypeDeclaration() to AbstractRubyCodegen

* Move toDefaultValue() to AbstractRubyCodegen

* Move toVarName() to AbstractRubyCodegen

* Move toParamName() to AbstractRubyCodegen

* Move toOperationId() to AbstractRubyCodegen

* Move escapeQuotationMark() to AbstractRubyCodegen

* Move escapeUnsafeCharacters() to AbstractRubyCodegen

* Use super.escapeReservedWord()

* RubyClientCodegen extends AbstractRubyCodegen

* Add the differences with AbstractRubyCodegen to "reservedWords"

* cliOptions.clear() is not a language specific matter

- Rails, Sinatra requires cliOptions.clear()
- Ruby client doesn't requires that

* Remove duplicated statements with AbstractRubyCodegen

* Remove duplicated methods with AbstractRubyCodegen

* Merge toVarName() into AbstractRubyCodegen

* Merge getTypeDeclaration() into AbstractRubyCodegen

* Merge toDefaultValue() into AbstractRubyCodegen

* Update Ruby related samples

- bin/ruby-client-petstore.sh
- bin/ruby-on-rails-server-petstore.sh
- bin/ruby-sinatra-server-petstore.sh

* Remove unnecessary 'import'

* Avoid unnecessary HTML escaping
2018-07-17 09:08:42 +08:00
Akihito Nakano
a055dc0351 Add ybelenko to PHP technical committee (#575) 2018-07-16 22:13:08 +08:00
William Cheng
f98000753d update petstore samples 2018-07-16 16:59:45 +08:00
Matthieu Berthomé
84ef98f067 [Python][Client] pure library client package (#470)
* Python client pure library package

* check onlyPackage CLI option

* run /bin/python-petstore.sh, update the python samples for CI

* onlyPackage local variable instead of classp property

* fix CI: __future__ absolute_import must be first in file

* update samples

* generateSourceCodeOnly

* updated samples
2018-07-16 15:49:08 +08:00
Yuriy Belenko
925ae68167 [Slim] Generation of UnitTest stubs (#566)
* [Slim] Add PHPUnit4 to Composer

* [Slim] Configure PHPUnit

* [Slim] Add Model and Api test templates

* [Slim] Refresh Slim samples
2018-07-16 14:25:48 +09:00
William Cheng
d863c3e5f4 Add travis.yml to test java6 option (#568)
Add travis.yml to test java6 option, update Java (Jersey2) dependencies
2018-07-15 16:00:07 +08:00
Jérémie Bresson
5a0a8f6a87 Java6 support: fix pom and gradle files, avoid diamond notation (#560) 2018-07-14 21:13:23 +08:00
William Cheng
df815344d1 fix NPE in body parameter due to incorrect parameter/consume (#563) 2018-07-14 20:19:10 +08:00
Daniel Miller
a6e15d7569 Fix handling of UUID types (#554) 2018-07-14 16:42:24 +08:00
William Cheng
deb5dcaad1 Merge remote-tracking branch 'origin/3.2.x' into 4.0.x 2018-07-14 01:42:02 +08:00
William Cheng
478d6ced4e Merge remote-tracking branch 'origin/master' into 3.2.x 2018-07-14 01:35:54 +08:00
Jean-François Côté
791f836e3d This fix the problem of having UNKNOWN_BASE_TYPE and "Object" type (#383) 2018-07-14 01:30:07 +08:00
jason-cohen
cd854b2130 Add check for list size before attempting to set last element field value. (#557) 2018-07-13 23:42:14 +08:00
Akihito Nakano
26e70fe642 [Ruby] Rename files/folders (#534)
* Rename templateDir: rails5 -> ruby-on-rails-server

* Rename script: rails5-petstore-server.sh -> ruby-on-rails-server-petstore.sh

* Rename sample folder: rails5 -> ruby-on-rails

* Rename script(openapi3): rails5-petstore-server.sh -> ruby-on-rails-server-petstore.sh

* Update ruby-on-rails-server-petstore.sh

* Rename templateDir: sinatra -> ruby-sinatra-server

* Rename script: sinatra-petstore-server.sh -> ruby-sinatra-server-petstore.sh

* Rename sample folder: sinatra -> ruby-sinatra

* Update script

* Rename templateDir: ruby -> ruby-client

* Rename script: ruby-petstore.sh -> ruby-client-petstore.sh

* Update scripts

* Update samples

- bin/ruby-sinatra-server-petstore.sh
- bin/ruby-on-rails-server-petstore.sh
- bin/ruby-client-petstore.sh
- bin/security/ruby-client-petstore.sh
2018-07-13 22:28:17 +08:00
Jeremie Bresson
0cc60d39d2 Merge remote-tracking branch 'origin/master' into 3.2.x 2018-07-13 07:25:49 +02:00
Benjamin Gill
6c14b4271f Handle headers correctly (#549)
We were previously relying on some incorrect behaviour of the old
swagger-codegen mustache engine.
2018-07-13 01:55:56 +08:00
John Wang
19fd48e33b [Golang][client] fix formData file parameter name use (#506)
* support form-data file MIME `name` parameter

* update test spec and Go client for form-data file name

* update samples for ensure-up-to-date

* update mustache template

* update samples for Go client

* improve assignment location

* update samples
2018-07-13 00:53:38 +08:00
John Wang
93832340a5 add RFC-3339 formatting to parameterToString (#502) 2018-07-13 00:50:21 +08:00
Tomasz Prus
a0936bec02 feat: use local_var_params to avoid collision with api parameters (#521) 2018-07-12 21:30:57 +08:00
William Cheng
a18a50b7a4 Add an entry to clarify the Q&A page (#544) 2018-07-12 15:30:45 +02:00
William Cheng
d17bdd2658 Improve CircleCI caching (#539)
* show ivy2 cache

* fix typo

* list dir before saving cache

* list dir before saving cache

* cache .git

* replace tab with space

* remove ls

* restore tests
2018-07-12 13:16:33 +08:00
Jérémie Bresson
84129a7da1 Remove secondary dependencies (#529) 2018-07-11 12:14:46 +02:00
William Cheng
0d952b79db Improve logging in Python client (#480)
* improve logging in python client

* update samples
2018-07-10 22:12:09 +08:00
Dennis Kieselhorst
0a2131d2d3 update CXF and Jackson to latest version (#496) 2018-07-10 18:23:18 +08:00
John Wang
86a0445984 Add default http scheme for server URL, Fix #181 (#498) 2018-07-09 10:45:28 +08:00
Akihito Nakano
837b10aab5 Fix script names (#508) 2018-07-08 23:05:27 +08:00
John Wang
9103ddb7fa add graceful error for io.airlift.airline.ParseArgumentsUnexpectedException (#494) 2018-07-08 23:00:22 +08:00
Tomasz Prus
96e86ac03e update and fix python samples (#489)
* fix: update petstore samples for python, fix broken tests

* chore: entries for python-asyncio/tornado in gitignore
2018-07-08 15:29:55 +08:00
William Cheng
950c584485 [WIP] Add release checkout script (#485)
* add release checkout script

* add check for docker images
2018-07-08 13:07:26 +08:00
sunn
6d05ea5716 Allow generated code to do cleanup of object by preventing premature loop exit (#270) 2018-07-08 12:55:27 +08:00
Jon Schoning
79fafda012 [haskell-http-client] regen samples (#492) 2018-07-08 12:46:35 +08:00
John Wang
a14e757059 fix cache-expires-ineffassign (#466) 2018-07-08 12:38:04 +08:00
Jeremie Bresson
7f4fc4de93 Merge remote-tracking branch 'origin/3.2.x' into 4.0.x 2018-07-07 15:29:36 +02:00
Jeremie Bresson
8f6bb8d9ec Merge remote-tracking branch 'origin/master' into 3.2.x 2018-07-07 09:13:54 +02:00
John Wang
b380e8f2a9 [CLI] Add --generator-name / -g to config-help (#491) 2018-07-07 07:48:47 +02:00
Jérémie Bresson
0d959a254c Update README.md (#493)
Mention branch 3.2.x and version 3.2.0
2018-07-07 07:47:35 +02:00
Jeremie Bresson
23c04e2e66 Prepare version 3.2.0-SNAPSHOT 2018-07-07 06:14:58 +02:00
Johannes Hoppe
4797c7b42c Update README.md (#488) 2018-07-07 06:06:30 +02:00
Jérémie Bresson
4b6fb504a2 Prepare version 3.1.1-SNAPSHOT (#487) 2018-07-07 06:05:19 +02:00
William Cheng
100ec449fe 3.1.0 release (#486)
* 3.1.0 release

* Comment ./bin/utils/ensure-up-to-date
2018-07-06 23:37:48 +08:00
William Cheng
790f3d46aa Fix broken link to openapi generator plugin README (#484) 2018-07-06 19:11:34 +08:00
William Cheng
7404ecb11e show warning message for nodejs server only (#481) 2018-07-06 17:29:49 +08:00
William Cheng
a714bf4720 Add grokify to Go technical committee (#479) 2018-07-06 14:38:02 +08:00
Yuriy Belenko
9eeedede49 [Slim] Improve codebase decouple (#438)
* [Slim] Decouple Api files into separated PHP Classes

This enhancement required for modular testing and code coverage generating.

* [Slim] Define all app routes in SlimRouter PHP Class. Generate new samples
2018-07-06 14:37:14 +08:00
Esteban Marin
3408866b79 Ensure typescript samples are up to date (#444)
See #80
2018-07-06 07:56:51 +02:00
William Cheng
804094bf51 Update README.md 2018-07-06 13:45:34 +08:00
John Wang
869b17fe29 [Golang][client] delete sample output dir before rebuild (#477)
* delete Go client sample output dir before rebuild

* purge go-petstore-withXml samples output dir before build

* update samples

* fix go-petstore-withxml.sh echo path
2018-07-06 12:20:13 +08:00
William Cheng
867aaa4c27 update petstore samples (#478) 2018-07-06 12:08:20 +08:00
Jeremie Bresson
d43801a9b7 Revert "Improve Docker Tags (#390)"
This reverts commits:

* 036570d93d.
* edf24d859c.
2018-07-06 05:28:10 +02:00
John Wang
7eb2acaf71 update go client test dependencies (#468) 2018-07-05 20:34:32 +08:00
John Wang
0bffdf2463 [Golang][client] fix for schema definition name file (#433)
* fix schema/definition name as 'file'

* update samples

* Trigger CI due to previous Shippable race condition

* add fix with toModelName(openAPIType)

* update tests for file schema/definition name

* Update 3.0 test spec

* update samples

* update samples for jaxrs-cxf

* Trigger CI due to previous Shippable race condition

* add back explode
2018-07-05 20:32:24 +08:00
Jeremie Bresson
036570d93d Fix '.travis' file (syntax) 2018-07-05 12:03:47 +02:00
John Wang
60da6fb2e1 make LICENSE GitHub display compatible (#467) 2018-07-05 10:08:52 +02:00
Jérémie Bresson
edf24d859c Improve Docker Tags (#390) 2018-07-05 14:40:06 +08:00
John Wang
33fcd28dba [Golang][client] fix file suffix for _test.go (#449)
* add file suffix fix for _test.go

* Trigger CI due to previous Shippable race condition

* Trigger CI due to previous Shippable race condition

* Trigger CI due to previous Travis CI stall

* Trigger CI due to previous Travis CI stall

* Trigger CI due to previous Shippable race condition

* add Go client test testFilenames
2018-07-05 14:02:10 +08:00
Jérémie Bresson
8fb413107c Remove copy section (#463) 2018-07-05 13:33:08 +08:00
William Cheng
f976887f23 Add link to presentation (#465) 2018-07-05 13:05:07 +08:00
Jérémie Bresson
ab8ec45b50 Use postProcessOperationsWithModels(Map, List) (#431)
Instead of postProcessOperations(Map)
2018-07-05 12:31:06 +08:00
Niklas Werner
96e0814510 [C] Adding petstore sample written in C (#306)
* Added a .gitignore to ignore the build folder

* Added a CMakeLists and a basic implementation of a double linked list

* Added the pet model

* changed the behaviour when a list gets freed - the data of each element doesn't get freed anymore

* Added the tool uncrustify in order to make code look better

* Uncrustified code

* added an implementation(constructor and deconstructor) for the category model

* Added a third party JSON library

* The pet struct now uses pointers for its members; the pet struct now has a proper constructor and a basic toJSON method

* The pet model now gets fully serialized into JSON

* Fixed the example url...

* Added third party library libcurl

* Modified category struct and added an unit test

* Added a foreach macro and added two functions

* Added a tag model and an unit test

* the pet struct now uses no double pointer for it's name anymore and no pointer for the enum status anymore; the pet struct can now be fully converted to json and parsed from json

* Added the struct APIClient and an unit test

* Uncrustified the unit test for category

* Added ifdef in pet.h to prevent errors

* Added one API endpoint to get a pet by id

* Added a "== 0" comparison that I forgot

* Added some kind of debug functionality to test-petApi.c

* Removed the DEBUG define

* Moved the c petstore example from samples/client/c to samples/client/petstore/c

* Renamed function getPetById to petApi_getPetById to avoid name collisions

* Removed unecessary method in list.c

* Added POST functionality; added petApi_addPet method and improved unit-test for petApi; cleaned up some code in apiClient

* removed two methods in list.c(string/tag to JSON) and moved their code directly in the pet_convertToJSON method

* Removed old, already commented out, puts artifact in apiClient.c

* Added a convertToJSON method to the category model

* Added a convertToJSON method to the tag model

* changed how the convertToJSON method works in the pet model

* Adjusted the unit-tests on how the convertToJSON method now works(now returns a cJSON* instead of a char*)

* apiClient_t now needs to be given to API methods as a parameter. This means apiClient_t can now be reused in multiple methods.

* Added an untested concept for how authentication could be handled

* Tested basicAuth using wireshark and added untested OAuth2 feature

* Added support for api key authentication using the http-header and tested functionality using wireshark
2018-07-05 12:28:43 +08:00
Jérémie Bresson
1d69566cb1 Sanitize pipe in var name (#461) 2018-07-05 12:26:46 +08:00
Jérémie Bresson
b0cae23777 [java-client] WebClient requires java8 (#460)
* Usage of webclient library forces java8 to be true

* Run bin/java-petstore-webclient.sh
2018-07-05 12:26:02 +08:00
Akihito Nakano
ef2b372dd3 [Node.js] Add a message which notify that the generated server doesn't work (#456)
* Add message which notify that the server doesn't work

* Update samples
2018-07-05 12:25:17 +08:00
John Wang
00354d3264 [jaxrs-cfx][server] delete output dir before building sample files (#452)
bin/jaxrs-cxf-petstore-server.sh:

* delete output dir before building sample
* add comment before deleting files
2018-07-05 05:45:03 +02:00
John Wang
2577e48feb [README.md] minor fixes incl. spelling, links, sorting, formatting (#462)
* minor README.md fixes: link, spelling, sorting, formatting
* add PowerShell to Technical Committee list
2018-07-05 05:33:14 +02:00
developersteve
020883fd4d [Java] version in the generated README dependent from {{java8}} (#380) 2018-07-04 13:05:14 +02:00
Jeremie Bresson
f8e5c410a2 Run bin/java-petstore-webclient.sh 2018-07-04 09:58:52 +02:00
Daonomic
b90c53deb6 [Java-client] Add Spring 5 WebClient as new library (#435) 2018-07-04 09:40:57 +02:00
TNM Technologies
d6e950f681 [jaxrs-resteasy] multiple values for @Produces annotation are separated by a comma (#445)
* fix: The values for @Produces annotation were not separated by a comma.
* Add test case for #443
2018-07-03 23:46:24 +02:00
Geoff Brown
960412a9b4 Restructure TypeScript Node generation into separate files (PHNX-1041) (#363) 2018-07-03 17:03:40 +02:00
Jérémie Bresson
7a7e221210 [Java] option for the prefix of boolean getters (#432)
* Add "booleanGetterPrefix" option
* Create `docs/migration-guide.adoc`
2018-07-03 17:00:15 +02:00
Jérémie Bresson
3d64bd0c49 [java-jaxrs] Fix paths when useTags=true is used (#437)
* Add test case for the existing implementation
* Introduce {{commonPath}}
* Update samples
2018-07-03 15:31:26 +02:00
Akihito Nakano
0137763997 Improve generation of README which has long description (#400)
* Add `appDescriptionWithNewLines`

* Add test case for escapeText as well

* Ruby client allows new lines in README

* Add doc comment

* fix issue related to github web gui

* the case of no description provided

* Run `./bin/utils/ensure-up-to-date`

https://app.shippable.com/github/OpenAPITools/openapi-generator/runs/1118/1/console
2018-07-03 21:25:27 +08:00
tomvangreen
dcc0c17a29 typescript-angular: add serviceSuffix and serviceFileSuffix parameters suffix (#418) 2018-07-03 13:38:21 +02:00
Raphael Ochsenbein
be68ef502e Inject basepath through configuration in generated service for angular, create test cases for angular 6 (#367) 2018-07-03 17:55:26 +08:00
Günther Grill
c1eda61874 Fix some Kotlin formatting issues and make source more Kotlin like (#427) 2018-07-03 08:25:48 +02:00
sunn
bece8d2a39 [aspnetcore] Add processing of Port defined in spec (#368) 2018-07-03 08:23:43 +02:00
sunn
83e14a7b44 [golang] Fix Null pointer exception in toVarName (#377) 2018-07-03 05:58:05 +02:00
Jérémie Bresson
001f5ae50d Mock generator for tests (#429)
Create MockDefaultGenerator class for tests
2018-07-02 17:38:07 +02:00
William Cheng
862fe79f32 Minor improvement to Go client generator, move test case (#430)
* move test cases to under fake endpoint

* remove trailing spaces in the template

* update samples

* add new file

* minor fix to OAS3 spec
2018-07-02 10:23:12 +08:00
Yuriy Belenko
412923ab5f [Slim] Refactoring (#402)
* [Slim] Cleanup samples. composer.lock excluded from .gitignore

composer.lcok should be commited to SVN. Official recommendation https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control

* [Slim] Refactor. Extend AbstractPhpCodegen class

* [Slim] Adjust the names (script, sample folder, generator) to lang option
2018-07-02 00:16:55 +08:00
Jeremie Bresson
e172379f04 Update jersey samples 2018-07-01 17:43:19 +02:00
John Wang
e960fe9512 [Golang][client] fix undefined: localVarFile (#382)
* fix undefined: localVarFile

* add required formData file endpoints to 2.0 and 3.0 specs

* streamline api.mustache update

* update sampels

* update samples

* update samples

* update samples bin/jaxrs-cxf-client-petstore.sh

* update samples

* update samples

* update samples run-all-petstore

* update samples

* update samples

* Trigger CI due to race condition

* update samples

* update samples

* Trigger CI due to previous timeout

* Trigger CI due to previous Shippable timeout

* Trigger CI due to previous Shippable race condition
2018-07-01 16:58:45 +08:00
Akihito Nakano
8bddf12e05 [Ruby] Make rake tasks required to publish gem available (#424)
* Make tasks reuired to publish gem available

https://github.com/OpenAPITools/openapi-generator/issues/423

* Update samples

- bin/ruby-petstore.sh
- bin/security/ruby-petstore.sh
2018-07-01 14:36:48 +08:00
Jérémie Bresson
a02b313b89 ModelUtils: isMap only if additionalProperties is a Schema (#410)
Fix for issue #409
2018-07-01 07:31:36 +02:00
Akihito Nakano
8e648e4d95 [PHP] Remove unnecessary IF statement (#421)
* Delete unused IF statement

JSON_PRETTY_PRINT is available since PHP 5.4.0

* Update samples

- bin/php-petstore.sh
- bin/security/php-petstore.sh
- bin/openapi3/php-petstore.sh
2018-06-30 20:30:25 +09:00
William Cheng
e5a42ab277 add link to presentation at JHipster conf 2008 (#422) 2018-06-30 18:52:11 +08:00
Jérémie Bresson
2604c935cf Add test cases for addProducesInfo(..) (#420) 2018-06-30 10:29:10 +02:00
Thomas Townsend
79856abae9 Fix subResourcePath when using tags in java-jersey (#215) 2018-06-30 10:23:04 +02:00
Jérémie Bresson
1f1a47c57b Obtain the example value from examples (#419)
* Fix error: "GET operations can not have a requestBody"
* Add support for "examples" in addition to "support example"
2018-06-30 06:58:30 +02:00
Akihito Nakano
0c11718917 Revise how to obtain the example value (#183) 2018-06-28 18:14:01 +02:00
Jeremie Bresson
7938677efa Merge remote-tracking branch 'origin/3.1.x' into 4.0.x 2018-06-28 07:04:03 +02:00
Jérémie Bresson
9b909df543 Prepare 3.1.0-SNAPSHOT (#408) 2018-06-28 06:52:40 +02:00
akihito.nakano
aedd2dea45 Update badges 2018-06-28 07:37:17 +09:00
akihito.nakano
5154712050 Use last prod version in docs/examples 2018-06-28 07:27:31 +09:00
akihito.nakano
76d87183c0 Use last prod version 2018-06-28 01:12:23 +09:00
akihito.nakano
0e31e4cff5 Re-enable ./bin/utils/ensure-up-to-date 2018-06-28 00:55:00 +09:00
akihito.nakano
23571046fb Merge remote-tracking branch 'upstream/master' into prepare-310 2018-06-28 00:53:58 +09:00
Thibault Duperron
b6717a5bad [Java, kotlin] Manage List<Integer> datatype for enum (#75) 2018-06-27 05:51:35 +02:00
Jérémie Bresson
ea81b0c833 Restore unit test that consider minLength, maxLength and pattern (#401)
when they are defined in a in referenced schema

Originally introduced with 6b8079808b (#45), 
commented with 85090f5068 (#82).
2018-06-26 09:11:27 +02:00
Jeremie Bresson
b0c02d8ea6 Merge remote-tracking branch 'origin/3.1.x' into 4.0.x
# Conflicts:
#	samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION
#	samples/server/petstore/kotlin-server/ktor/README.md
#	samples/server/petstore/php-silex/.openapi-generator/VERSION
2018-06-25 19:09:41 +02:00
Jeremie Bresson
66b73e906e Merge remote-tracking branch 'origin/master' into 3.1.x 2018-06-25 18:58:54 +02:00
William Cheng
a897feef50 Fix alias to map in the model's properties (#360)
* add test case for ref to map (boolean) in fake petstore spec

* fix alias to map in model properties

* remove logging from new method

* update samples for the new map test case

* fix javadoc string

* skip testSanitizeNestedInvalidValue in php test

* skip test in php oas3 client

* add logic to handle outer enum

* update samples

* fix alias in model's allOf

* generate models for map def

* update petstore samples

* update petstore samples
2018-06-21 22:59:02 +08:00
Jeremie Bresson
9509e66ae8 Merge remote-tracking branch 'origin/master' into 3.1.x 2018-06-21 07:33:59 +02:00
Jeremie Bresson
478b0d6101 Merge remote-tracking branch 'origin/master' into 3.1.x 2018-06-19 07:32:52 +02:00
shigeru.nakajima
86a82d103e Eliminate MySQL dependency of Rails 5 stub server (#279)
* [rails] In order to set up the Ruby on Rails stub server easily, remove the dependency on MySQL

* [rails] Update sample codes of Ruby on Rails stub server
2018-06-17 12:44:25 +08:00
William Cheng
05f177b6d6 [PHP-Lumen] Lumen 5.6 support (#212)
* Lumen 5.6 support

* recall headlines

* Update composer.mustache

* regenerate lumne php petstore samples

* remove output format from lumen routes

* Fix: "A facade root has not been set"

* Ignore log folder
2018-06-16 19:07:13 +08:00
William Cheng
b1921ce484 Merge remote-tracking branch 'origin/3.1.x' into 4.0.x 2018-06-16 19:03:14 +08:00
William Cheng
cb28ada0aa Merge remote-tracking branch 'origin/master' into 3.1.x 2018-06-16 19:02:17 +08:00
John Wang
a20f93b42f [Golang][client] fix RFC-3339 date-time query param (#325) 2018-06-16 00:29:24 +08:00
Jeremie Bresson
4a4fb77081 Merge remote-tracking branch 'origin/3.1.x' into 4.0.x 2018-06-14 13:30:57 +02:00
Jeremie Bresson
dbb44a153d Merge remote-tracking branch 'origin/master' into 3.1.x 2018-06-14 13:29:52 +02:00
Jeremie Bresson
f5f744ad2c Merge remote-tracking branch 'origin/3.1.x' into 4.0.x 2018-06-12 19:38:40 +02:00
Jeremie Bresson
a878749f6c Merge remote-tracking branch 'origin/master' into 3.1.x 2018-06-12 16:26:44 +02:00
Jeremie Bresson
958dd20680 Merge remote-tracking branch 'origin/master' into '3.1.x' 2018-06-12 12:06:54 +02:00
Jeremie Bresson
b887efdc1c Initial commit for 4.0.0-SNAPSHOT 2018-06-12 06:40:07 +02:00
Jeremie Bresson
c223f28171 Initial commit for 3.1.0-SNAPSHOT 2018-06-12 06:27:26 +02:00
14088 changed files with 878275 additions and 185329 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
**/*.mustache linguist-vendored=true

117
.github/.test/auto-labeler.js vendored Normal file
View File

@@ -0,0 +1,117 @@
let fs = require('fs');
let path = require('path');
let util = require('util');
let yaml = require('./js-yaml.js');
let samples = require('./samples.json');
class LabelMatch {
constructor (match, label) {
this.match = match;
this.label = label;
}
}
class FileError {
constructor (file, actualLabels, expectedLabels) {
this.file = file;
this.actual = actualLabels;
this.expected = expectedLabels;
}
}
class TextError {
constructor (text, actualLabels, expectedLabels) {
this.text = text;
this.actual = actualLabels;
this.expected = expectedLabels;
}
}
let labels = [];
function labelsForFile(file) {
let body = fs.readFileSync(file);
return labelsForText(body)
}
function labelsForText(text) {
let addLabels = new Set();
let body = text;
for (const v of labels) {
if (v.match.test(body)) {
addLabels.add(v.label)
}
// reset regex state
v.match.lastIndex = 0
}
return addLabels;
}
try {
let config = yaml.safeLoad(fs.readFileSync('../auto-labeler.yml', 'utf8'));
if (config && config.labels && Object.keys(config.labels).length > 0) {
for (const labelName in config.labels) {
if (config.labels.hasOwnProperty(labelName)) {
let matchAgainst = config.labels[labelName];
if (Array.isArray(matchAgainst)) {
matchAgainst.forEach(regex => {
// noinspection JSCheckFunctionSignatures
labels.push(new LabelMatch(new RegExp(regex, 'g'), labelName));
})
}
}
}
}
if (labels.length === 0) {
// noinspection ExceptionCaughtLocallyJS
throw new Error("Expected to parse config.labels, but failed.")
}
let fileErrors = [];
samples.files.forEach(function(tester){
let file = path.normalize(path.join('..', '..', 'bin', tester.input));
let expectedLabels = new Set(tester.matches);
let actualLabels = labelsForFile(file);
let difference = new Set([...actualLabels].filter(x => !expectedLabels.has(x)));
if (difference.size > 0) {
fileErrors.push(new FileError(file, actualLabels, expectedLabels));
}
});
let textErrors = [];
samples.text.forEach(function(tester){
let expectedLabels = new Set(tester.matches);
let actualLabels = labelsForText(tester.input);
let difference = new Set([...actualLabels].filter(x => !expectedLabels.has(x)));
if (difference.size > 0) {
textErrors.push(new TextError(tester.input, actualLabels, expectedLabels));
}
});
// These are separate (file vs text) in case we want to preview where these would fail in the file. not priority at the moment.
if (fileErrors.length > 0) {
console.warn('There were %d file tester errors', fileErrors.length);
fileErrors.forEach(function(errs) {
console.log("file: %j\n actual: %j\n expected: %j", errs.file, util.inspect(errs.actual), util.inspect(errs.expected))
});
}
if (textErrors.length > 0) {
console.warn('There were %d text tester errors', textErrors.length);
textErrors.forEach(function(errs){
console.log("input: %j\n actual: %j\n expected: %j", errs.text, util.inspect(errs.actual), util.inspect(errs.expected))
})
}
let totalErrors = fileErrors.length + textErrors.length;
if (totalErrors === 0) {
console.log('Success!');
} else {
console.log('Failure: %d total errors', totalErrors);
}
} catch (e) {
console.log(e);
}

3917
.github/.test/js-yaml.js vendored Normal file

File diff suppressed because it is too large Load Diff

1292
.github/.test/samples.json vendored Normal file

File diff suppressed because it is too large Load Diff

10
.github/ISSUE_TEMPLATE/announcement.md vendored Normal file
View File

@@ -0,0 +1,10 @@
---
name: Announcement
about: Announcements related to the project
title: "[Announcement] TITLE"
labels: Announcement
assignees: ''
---

63
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,63 @@
---
name: Bug report
about: Create a bug report to help us improve
title: "[BUG] Description"
labels: 'Issue: Bug'
assignees: ''
---
#### Bug Report Checklist
- [ ] Have you provided a full/minimal spec to reproduce the issue?
- [ ] Have you validated the input using an OpenAPI validator ([example](https://apidevtools.org/swagger-parser/online/))?
- [ ] What's the version of OpenAPI Generator used?
- [ ] Have you search for related issues/PRs?
- [ ] What's the actual output vs expected output?
- [ ] [Optional] Bounty to sponsor the fix ([example](https://www.bountysource.com/issues/66123212-javascript-client-produces-a-wrong-object-for-a-string-enum-type-that-is-used-with-ref))
<!--
Please follow the issue template below for bug reports.
Also please indicate in the issue title which language/library is concerned. Eg: [BUG][JAVA] Bug generating foo with bar
-->
##### Description
<!-- describe what is the question, suggestion or issue and why this is a problem for you. -->
##### openapi-generator version
<!-- which version of openapi-generator are you using, is it a regression? -->
##### OpenAPI declaration file content or url
<!-- if it is a bug, a json or yaml that produces it.
If you post the code inline, please wrap it with
```yaml
(here your code)
```
(for YAML code) or
```json
(here your code)
```
(for JSON code), so it becomes more readable. If it is longer than about ten lines,
please create a Gist (https://gist.github.com) or upload it somewhere else and
link it here.
-->
##### Command line used for generation
<!-- including the language, libraries and various options -->
##### Steps to reproduce
<!-- unambiguous set of steps to reproduce the bug.-->
##### Related issues/PRs
<!-- has a similar issue/PR been reported/opened before? Please do a search in https://github.com/openapitools/openapi-generator/issues?utf8=%E2%9C%93&q=is%3Aissue%20 -->
##### Suggest a fix
<!-- if you can't fix the bug yourself, perhaps you can point to what might be
causing the problem (line of code or commit), or simply make a suggestion -->

View File

@@ -0,0 +1,24 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[REQ] Feature Request Description"
labels: 'Enhancement: Feature'
assignees: ''
---
### Is your feature request related to a problem? Please describe.
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
## Describe the solution you'd like
<!-- A clear and concise description of what you want to happen. -->
## Describe alternatives you've considered
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
## Additional context
<!-- Add any other context or screenshots about the feature request here. -->

View File

@@ -1,8 +1,8 @@
### PR checklist
- [ ] Read the [contribution guidelines](https://github.com/openapitools/openapi-generator/blob/master/CONTRIBUTING.md).
- [ ] Ran the shell script under `./bin/` to update Petstore sample so that CIs can verify the change. (For instance, only need to run `./bin/{LANG}-petstore.sh` and `./bin/security/{LANG}-petstore.sh` if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in `.\bin\windows\`.
- [ ] Filed the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`, `3.1.x`, `4.0.x`. Default: `master`.
- [ ] Ran the shell script under `./bin/` to update Petstore sample so that CIs can verify the change. (For instance, only need to run `./bin/{LANG}-petstore.sh`, `./bin/openapi3/{LANG}-petstore.sh` if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in `.\bin\windows\`.
- [ ] Filed the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`~~, `3.4.x`, `4.0.x`~~. Default: `master`.
- [ ] Copied the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) to review the pull request if your PR is targeting a particular programming language.
### Description of the PR

290
.github/auto-labeler.yml vendored Normal file
View File

@@ -0,0 +1,290 @@
comment: |
👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.
The team will review the labels and make any necessary changes.
labels:
'Announcement':
- '\s*?\[[Aa]nnouncement\]\s*?'
'Breaking change (with fallback)':
- '\s*?[bB]reaking [cC]hange [wW]ith [fF]allback\s*?'
'Breaking change (without fallback)':
- '\s*?[bB]reaking [cC]hange [wW]ithout [fF]allback\s*?'
'Client: Ada':
- '\s*?\[ada\]\s*?'
- '\s*?-[gl] ada(?!-)\b'
'Client: Android':
- '\s*?\[android\]\s*?'
- '\s*?-[gl] android(?!-)\b'
'Client: Apex':
- '\s*?\[apex\]\s*?'
- '\s*?-[gl] apex(?!-)\b'
'Client: Bash':
- '\s*?\[bash\]\s*?'
- '\s*?-[gl] bash(?!-)\b'
'Client: C':
- '\s*?\[[cC]\]\s*?'
- '\s*?-[gl] c(?!-)\b'
# 'Client: Ceylon':
'Client: C++':
- '\s*?\[cpp(-.*)?-client\]\s*?'
- '\s*?-[gl] cpp(-.*)?-client\s*?'
- '\s*?-[gl] cpp-restsdk(?!-)\b'
- '\s*?-[gl] cpp-tizen(?!-)\b'
'Client: C-Sharp':
- '\s*?-[gl] csharp(?!-)\b'
- '\s*?[cC]-[sS]harp [cC]lient\s*?'
- '\s*?-[gl] csharp-dotnet2\s*?'
- '\s*?-[gl] csharp-refactor?\s*?'
- '\s*?\[[Cc]#\]'
- '\s*?\[csharp\]\s*?'
'Client: Clojure':
- '\s*?\[clojure\]\s*?'
- '\s*?-[gl] clojure(?!-)\b'
# 'Client: Crystal':
'Client: Dart':
- '\s*?\[dart\]\s*?'
- '\s*?-[gl] dart(?!-)\b'
'Client: Dukescript':
- '\s*?\[dukescript\]\s*?'
- '\s*?-g dukescript\s*?'
'Client: Eiffel':
- '\s*?\[eiffel\]\s*?'
- '\s*?-[gl] eiffel(?!-)\b'
'Client: Elixir':
- '\s*?\[elixir\]\s*?'
- '\s*?-[gl] elixir(?!-)\b'
'Client: Elm':
- '\s*?\[elm\]\s*?'
- '\s*?-[gl] elm(?!-)\b'
'Client: Erlang':
- '\s*?\[erlang(-.*)?-client\]\s*?'
- '\s*?-[gl] erlang(-.*)?-client\s*?'
- '\s*?\[erlang-proper\]\s*?'
- '\s*?-[gl] erlang-proper\s*?'
'Client: Flash/ActionScript':
- '\s*?\[flash\]\s*?'
- '\s*?-[gl] flash(?!-)\b'
'Client: Go':
- '\s*?\[go\]\s*?'
- '\s*?-[gl] go(?!-)\b'
'Client: Groovy':
- '\s*?\[groovy\]\s*?'
- '\s*?-[gl] groovy(?!-)\b'
'Client: HTML':
- '\s*?\[html[2]?\]\s*?'
- '\s*?-[gl] html[2]?\s*?'
'Client: Haskell':
- '\s*?\[haskell(-.*)?-client\]\s*?'
- '\s*?-[gl] haskell(-.*)?-client\s*?'
'Client: JMeter':
- '\s*?\[jmeter\]\s*?'
- '\s*?-[gl] jmeter\s*?'
'Client: Java':
- '\s*?\[java\]\s*?'
- '\s*?-[gl] java(?!-)\b'
'Client: JavaScript/Node.js':
- '\s*?\[javascript\]\s*?'
- '\s*?-[gl] javascript\s*?'
- '\s*?-[gl] javascript-(\S)*\s*?'
# 'Client: Julia': # NOTE: Not yet implemented
'Client: Kotlin':
- '\s*?\[kotlin\]\s*?'
- '\s*?-[gl] kotlin(?!-)\b'
'Client: Lisp':
- '\s*?\[lisp\]\s*?'
- '\s*?-[gl] lisp(?!-)\b'
'Client: Lua':
- '\s*?\[lua\]\s*?'
- '\s*?-[gl] lua(?!-)\b'
'Client: Objc':
- '\s*?\[objc\]\s*?'
- '\s*?-[gl] objc\s*?'
# 'Client: OCaml':
'Client: Perl':
- '\s*?\[perl\]\s*?'
- '\s*?-[gl] perl(?!-)\b'
# 'Client: PHP':
'Client: PowerShell':
- '\s*?\[powershell\]\s*?'
- '\s*?-[gl] powershell\s*?'
'Client: Python':
- '\s*?\[python\]\s*?'
- '\s*?-[gl] python(?!-)\b'
'Client: QT':
- '\s*?\[cpp-qt5-client\]\s*?'
- '\s*?-[gl] cpp-qt5-client\s*?'
'Client: R':
- '\s*?\[[rR]\]\s*?'
- '\s*?-[gl] r(?!-)\b'
'Client: Reason ML':
- '\s*?\[reasonml\]\s*?'
- '\s*?-[g] reasonml\s*?'
'Client: Retrofit':
- '\s*?retrofit.*?\s*?'
'Client: Ruby':
- '\s*?\[ruby\]\s*?'
- '\s*?-[gl] ruby(?!-)\b'
'Client: Rust':
- '\s*?\[rust\]\s*?'
- '\s*?-[gl] rust(?!-)\b'
'Client: Scala':
- '\s*?\[scalaz\]\s*?'
- '\s*?-[gl] scalaz\s*?'
- '\s*?\[scala-(?!finch)[a-z]+\]\b'
- '\s*?-[gl] scala-(?!finch)[a-z]+?(?!-)\b'
'Client: Swift':
- '\s*?\[swift[34]+\]\s*?'
- '\s*?-[gl] swift[34]+\s*?'
- '\s*?-[gl] swift2-deprecated\s*?'
'Client: TypeScript':
- '\s*?\[typescript-[\-a-z]+\]\s*?'
- '\s*?-[gl] typescript-[\-a-z]+\s*?'
# 'Client: VB/VB.net': # NOTE: Not yet implemented
# 'Client: Visual Basic': # TODO: REMOVE UNUSED LABEL
'Config: Apache':
- '\s*?\[apache2\]\s*?'
- '\s*?-[gl] apache2\s*?'
'Docker':
- '\s*?\[docker\]\s*?'
'Documentation: Cwiki':
- '\s*?\[cwiki\]\s*?'
- '\s*?-[gl] cwiki\s*?'
'Documentation: Dynamic HTML':
- '\s*?\[dynamic-html\]\s*?'
- '\s*?-[gl] dynamic-html\s*?'
'Enhancement: CI/Test':
- '\s*?\[ci\]\s*?'
'Enhancement: Code format':
- '\s*?\[format(ting)?\]\s*?'
# 'Enhancement: Compatibility':
'Enhancement: Feature':
- '\s*?\[feat(ure)?s*?'
'Enhancement: General':
- '\s*?\[general\]\s*?'
- '\s*?\[core\]\s*?'
# 'Enhancement: New generator':
'Enhancement: Performance':
- '\s*?\[perf\]\s*?'
# 'Feature List: API clients':
# 'Feature List: API documentations':
# 'Feature List: API servers':
# 'Feature: Authentication':
# 'Feature: Composition / Inheritance':
# 'Feature: Documentation':
# 'Feature: Enum':
# 'Feature: Generator':
'Feature: OAS 3.0 spec support':
- '\s*?\[oas3[\.0]?\]\s*?'
# 'General: Awaiting feedback':
'General: Discussion':
- '\s*?\[discussion\]\s*?'
'General: Question':
- '\s*?\[question\]\s*?'
'General: Suggestion':
- '\s*?\[suggestion\]\s*?'
'General: Support':
- '\s*?\[support\]\s*?'
'Issue: Bug':
- '\s*?\[bug(s)?\]\s*?'
- '\s*?\[fix(es)?\]\s*?'
# 'Issue: Invalid spec':
# 'Issue: Migration':
# 'Issue: Non-operational':
# 'Issue: Platform':
# 'Issue: Regression':
'Issue: Security':
- '\s*?\[security\]\s*?'
# 'Issue: Unable to reproduce':
# 'Issue: Undo changes':
# 'Issue: Usage/Installation':
# 'Issue: Workaround available':
'OpenAPI Generator CLI':
- '\s*?\[cli\]\s*?'
'OpenAPI Generator Gradle Plugin':
- '\s*?\[gradle\]\s*?'
'OpenAPI Generator Maven Plugin':
- '\s*?\[maven\]\s*?'
'OpenAPI Generator Online':
- '\s*?\[online\]\s*?'
'Schema: MySQL':
- '\s*?\[mysql\]\s*?'
- '\s*?-[gl] mysql\s*?'
'Schema: GraphQL':
- '\s*?\[graphql-schema\]\s*?'
- '\s*?-[gl] graphql-schema\s*?'
'Server: Ada':
- '\s*?\[ada(-.*)?-server\]\s*?'
- '\s*?-[gl] ada(-.*)?-server\s*?'
'Server: C++':
- '\s*?\[cpp(-.*)?-server\]\s*?'
- '\s*?-[gl] cpp(-.*)?-server\s*?'
'Server: C-Sharp':
- '\s*?\[aspnetcore\]\s*?'
- '\s*?-[gl] aspnetcore\s*?'
- '\s*?\[csharp-nancyfx\]\s*?'
- '\s*?-[gl] csharp-nancyfx\s*?'
# 'Server: Ceylon': # TODO: REMOVE UNUSED LABEL
'Server: Eiffel':
- '\s*?\[eiffel(-.*)?-server\]\s*?'
- '\s*?-[gl] eiffel(-.*)?-server\s*?'
'Server: Elixir':
- '\s*?\[elixir(-.*)?-server\]\s*?'
- '\s*?-[gl] elixir(-.*)?-server\s*?'
'Server: Erlang':
- '\s*?\[erlang-server\]\s*?'
- '\s*?-[gl] erlang-server\s*?'
'Server: Go':
- '\s*?\[go(-.*)?-server\]\s*?'
- '\s*?-[gl] go(-.*)?-server\s*?'
'Server: GraphQL':
- '\s*?\[graphql(-.*)?-server\]\s*?'
- '\s*?-[gl] graphql(-.*)?-server\s*?'
'Server: Haskell':
- '\s*?\[haskell]\s*?'
- '\s*?-[gl] haskell(?!-)\b'
'Server: Java':
- '\s*?\[java-.*?\]\s*?'
- '\s*?-[gl] java-.*?\s*?'
- '\s*?-[gl] jaxrx-.*?\s*?'
'Server: Kotlin':
- '\s*?\[ktor]\s*?'
- '\s*?\[kotlin-spring]\s*?'
- '\s*?\[kotlin(-.*)?-server\]\s*?'
- '\s*?-[gl] kotlin(-.*)?-server\s*?'
- '\s*?-[gl] kotlin-spring\s*?'
'Server: Nodejs':
- '\s*?\[nodejs(-.*)?-server\]\s*?'
- '\s*?-[gl] nodejs(-.*)?-server\s*?'
'Server: PHP':
- '\s*?\[php-.*?\]\s*?'
- '\s*?-[gl] php-.*?\s*?'
'Server: Perl':
- '\s*?\[perl(-.*)?-server\]\s*?'
- '\s*?-g perl(-.*)?-server\s*?'
'Server: Python':
- '\s*?\[python-.*?\]\s*?'
- '\s*?-[gl] python-.*?\s*?'
'Server: Ruby':
- '\s*?\[ruby-.*?\]\s*?'
- '\s*?-[gl] ruby-.*?\s*?'
'Server: Rust':
- '\s*?\[rust(-.*)?-server\]\s*?'
- '\s*?-[gl] rust(-.*)?-server\s*?'
'Server: Scala':
- '\s*?\[scala(-.*)?-server\]\s*?'
- '\s*?-[gl] scala(-.*)?-server\s*?'
- '\s*?\[scalatra\]\s*?'
- '\s*?-[gl] scalatra\s*?'
- '\s*?\[scala-finch\]\s*?'
- '\s*?-[gl] scala-finch\s*?'
'Server: Spring':
- '\s*?\[spring\]\s*?'
- '\s*?-[g] spring\s*?'
# 'Swagger-Parser':
'WIP':
- '\s*?\[wip\]\s*?'
- '\s*?\[WIP\]\s*?'
- '\bWIP:.*?'
'help wanted':
- '\s*?\[help wanted\]\s*?'

46
.gitignore vendored
View File

@@ -6,6 +6,7 @@ out/
*.gpg
classpath.txt
version.properties
modules/openapi-generator-gradle-plugin/bin/
!modules/openapi-generator-cli/src/main/resources/version.properties
.project
.classpath
@@ -26,6 +27,7 @@ packages/
.packages
.vagrant/
.vscode/
**/.vs
.settings
@@ -59,6 +61,12 @@ samples/client/petstore/qt5cpp/PetStore/PetStore
samples/client/petstore/qt5cpp/PetStore/Makefile
samples/client/petstore/qt5cpp/PetStore/PetStore.pro.user
# cpprestsdk
samples/client/petstore/cpp-restsdk/CMakeCache.txt
samples/client/petstore/cpp-restsdk/CMakeFiles/
samples/client/petstore/cpp-restsdk/Makefile
samples/client/petstore/cpp-restsdk/cmake_install.cmake
#Java/Android
**/.gradle
samples/client/petstore/java/hello.txt
@@ -83,19 +91,9 @@ samples/client/petstore/scala/build/
samples/client/petstore/java/resttemplate/hello.txt
samples/client/petstore/java/retrofit2/hello.txt
samples/client/petstore/java/feign/hello.txt
#PHP
samples/client/petstore/php/OpenAPIToolsClient-php/composer.lock
samples/client/petstore/php/OpenAPIToolsClient-php/vendor/
samples/client/petstore/silex/SwaggerServer/composer.lock
samples/client/petstore/silex/SwaggerServer/venodr/
**/vendor/
**/composer.lock
#PHP-Symfony
samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/cache/
samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/logs/
samples/client/petstore/java/jersey2-java6/project/
samples/client/petstore/java/jersey2-java8/project/
samples/client/petstore/java/jersey2/project/
# Perl
samples/client/petstore/perl/deep_module_test/
@@ -119,19 +117,18 @@ samples/client/petstore/swift/**/SwaggerClientTests/SwaggerClient.xcworkspace/xc
samples/client/petstore/swift/**/SwaggerClientTests/Pods/
#samples/client/petstore/swift/**/SwaggerClientTests/Pods/Pods.xcodeproj/xcuserdata
#samples/client/petstore/swift/**/SwaggerClientTests/Pods/Pods.xcodeproj/xcshareddata/xcschemes
samples/client/petstore/swift/**/SwaggerClientTests/Podfile.lock
samples/client/petstore/swift/**/SwaggerClientTests/Podfile.lock
# Swift3
samples/client/petstore/swift3/**/SwaggerClientTests/SwaggerClient.xcodeproj/xcuserdata
samples/client/petstore/swift3/**/SwaggerClientTests/SwaggerClient.xcworkspace/xcuserdata
#samples/client/petstore/swift3/**/SwaggerClientTests/Pods/
#samples/client/petstore/swift3/**/SwaggerClientTests/Pods/Pods.xcodeproj/xcuserdata
#samples/client/petstore/swift3/**/SwaggerClientTests/Pods/Pods.xcodeproj/xcshareddata/xcschemes
samples/client/petstore/swift3/**/SwaggerClientTests/Podfile.lock
samples/client/petstore/swift3/**/SwaggerClientTests/Podfile.lock
# C#
*.csproj.user
samples/client/petstore/csharp/SwaggerClient/IO.Swagger.userprefs
samples/client/petstore/csharp/SwaggerClientTest/.vs
samples/client/petstore/csharp/SwaggerClientTest/obj
samples/client/petstore/csharp/SwaggerClientTest/bin
samples/client/petstore/csharp/SwaggerClientTest/packages
@@ -149,6 +146,8 @@ samples/client/petstore/csharp/SwaggerClient/bin/Debug/
samples/client/petstore/csharp/SwaggerClient/packages
samples/client/petstore/csharp/SwaggerClient/TestResult.xml
samples/client/petstore/csharp/SwaggerClientWithPropertyChanged/IO.Swagger.userprefs
samples/client/petstore/csharp-refactor/OpenAPIClient/TestResult.xml
samples/client/petstore/csharp-refactor/OpenAPIClient/nuget.exe
# Python
*.pyc
@@ -158,6 +157,9 @@ samples/client/petstore/python/swagger_client.egg-info/SOURCES.txt
samples/client/petstore/python/.coverage
samples/client/petstore/python/.projectile
samples/client/petstore/python/.venv/
samples/client/petstore/python-asyncio/.venv/
samples/client/petstore/python-asyncio/.pytest_cache/
samples/client/petstore/python-tornado/.venv/
# ts
samples/client/petstore/typescript-node/npm/node_modules
@@ -178,15 +180,21 @@ samples/client/petstore/kotlin/src/main/kotlin/test/
samples/client/petstore/kotlin-threetenbp/build
samples/client/petstore/kotlin-string/build
samples/server/petstore/kotlin-server/ktor/build
samples/openapi3/client/petstore/kotlin/build
\?
# haskell
.stack-work
.cabal-sandbox
cabal.project.local
samples/client/petstore/haskell-http-client/docs/haddock-bundle.min.js
samples/client/petstore/haskell-http-client/docs/meta.json
samples/client/petstore/haskell-http-client/docs/quick-jump.css
# R
.Rproj.user
samples/client/petstore/R/**/petstore.Rcheck/
samples/client/petstore/R/**/*.tar.gz
# elixir
samples/client/petstore/elixir/_build/
@@ -199,6 +207,8 @@ samples/client/petstore/groovy/build
# erlang
samples/client/petstore/erlang-client/_build/
samples/client/petstore/erlang-client/rebar.lock
samples/client/petstore/erlang-proper/_build/
samples/client/petstore/erlang-proper/rebar.lock
samples/server/petstore/erlang-server/_build/
samples/server/petstore/erlang-server/rebar.lock
@@ -212,3 +222,7 @@ samples/client/petstore/javascript/package-lock.json
# elm
samples/client/petstore/elm/index.html
# C
samples/client/petstore/c/build
samples/client/petstore/c/*.so

36
.hub.cli.dockerfile Normal file
View File

@@ -0,0 +1,36 @@
## The builder labeled image acts as a transient container which is meant to
## hold all non-artifact code.
##
## You can build _just_ this part with:
## docker --target builder -t container-name:builder -f .hub.cli.dockerfile .
FROM jimschubert/8-jdk-alpine-mvn:1.0 as builder
RUN set -x && \
apk add --no-cache bash
ENV GEN_DIR /opt/openapi-generator
WORKDIR ${GEN_DIR}
COPY . ${GEN_DIR}
# Pre-compile openapi-generator-cli
RUN mvn -am -pl "modules/openapi-generator-cli" package
## The final (release) image
## The resulting container here only needs the target jar
## and ca-certificates (to be able to query HTTPS hosted specs)
FROM openjdk:8-jre-alpine
ENV GEN_DIR /opt/openapi-generator
RUN apk --no-cache add ca-certificates bash
RUN mkdir -p ${GEN_DIR}/modules/openapi-generator-cli/target
WORKDIR ${GEN_DIR}/modules/openapi-generator-cli/target
COPY --from=builder ${GEN_DIR}/modules/openapi-generator-cli/target/openapi-generator-cli.jar ${GEN_DIR}/modules/openapi-generator-cli/target/openapi-generator-cli.jar
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["help"]

35
.hub.online.dockerfile Normal file
View File

@@ -0,0 +1,35 @@
## The builder labeled image acts as a transient container which is meant to
## hold all non-artifact code.
##
## You can build _just_ this part with:
## docker --target builder -t container-name:builder -f .hub.online.dockerfile .
FROM jimschubert/8-jdk-alpine-mvn:1.0 as builder
RUN set -x && \
apk add --no-cache bash
ENV GEN_DIR /opt/openapi-generator
WORKDIR ${GEN_DIR}
COPY . ${GEN_DIR}
# Pre-compile openapi-generator-online
RUN mvn -am -pl "modules/openapi-generator-online" package
## The final (release) image
## The resulting container here only needs the target jar
FROM openjdk:8-jre-alpine
ENV GEN_DIR /opt/openapi-generator
ENV TARGET_DIR /generator
RUN mkdir -p ${TARGET_DIR}
WORKDIR ${TARGET_DIR}
COPY --from=builder ${GEN_DIR}/modules/openapi-generator-online/target/openapi-generator-online.jar ${TARGET_DIR}/openapi-generator-online.jar
ENV GENERATOR_HOST=http://localhost
EXPOSE 8080
CMD ["java", "-jar", "/generator/openapi-generator-online.jar"]

View File

@@ -28,28 +28,34 @@ cache:
- $HOME/samples/server/petstore/rust-server/target
- $HOME/perl5
- $HOME/.cargo
- $HOME/.stack
- $HOME/.pub-cache
- $HOME/samples/server/petstore/cpp-pistache/pistache
- $HOME/.npm
- $HOME/.rvm/gems/ruby-2.4.1
- $HOME/website/node_modules/
services:
- docker
# comment out the host table change to use the public petstore server
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
chrome: stable
hosts:
- petstore.swagger.io
before_install:
# install haskell
- curl -sSL https://get.haskellstack.org/ | sh
- stack upgrade
- stack --version
# install rust
- curl https://sh.rustup.rs -sSf | sh -s -- -y -v
# required when sudo: required for the Ruby petstore tests
- gem install bundler
- npm install -g typescript
- npm install -g npm
- npm install -g elm
- npm install -g elm@0.18.0-exp5
- npm config set registry http://registry.npmjs.org/
# set python 3.6.3 as default
- source ~/virtualenv/python3.6/bin/activate
@@ -58,10 +64,20 @@ before_install:
- docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
- docker ps -a
# Add bats test framework and cURL for Bash script integration tests
- sudo add-apt-repository ppa:duggan/bats --yes
- sudo apt-get update -qq
- sudo apt-get install -qq bats
- sudo apt-get install -qq curl
#- sudo add-apt-repository ppa:duggan/bats --yes
#- sudo apt-get update -qq
#- sudo apt-get install -qq bats
#- sudo apt-get install -qq curl
# install dart
#- sudo apt-get update
#- sudo apt-get install apt-transport-https
#- sudo sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
#- 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
- phpenv global 7.1
- php -v
# install perl module
#- cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
#- cpanm Test::Exception Test::More Log::Any LWP::UserAgent JSON URI:Query Module::Runtime DateTime Module::Find Moose::Role
@@ -81,13 +97,19 @@ before_install:
gpg --keyserver keyserver.ubuntu.com --recv-key $SIGNING_KEY ;
gpg --check-trustdb ;
fi;
- pushd .; cd website; npm install; popd
install:
# Add Godeps dependencies to GOPATH and PATH
- eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.4 bash)"
- export GOPATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace"
- export PATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace/bin:$HOME/.cargo/bin:$PATH"
- go version
#- eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.4 bash)"
#- export GOPATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace"
- export PATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace/bin:$HOME/.cargo/bin:$PATH:/usr/lib/dart/bin"
#- go version
- gcc -v
- echo $CC
- echo $CXX
#- pub version
#- dart --version
script:
# fail fast
@@ -99,8 +121,8 @@ script:
# fail if generators contain tab '\t'
- /bin/bash ./bin/utils/detect_tab_in_java_class.sh
# run integration tests defined in maven pom.xml
- mvn --quiet clean install
- mvn --quiet verify -Psamples
- ./run-in-docker.sh mvn --quiet --batch-mode clean install
- mvn --quiet --batch-mode verify -Psamples
after_success:
# push to maven repo
- if [ $SONATYPE_USERNAME ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
@@ -111,21 +133,34 @@ after_success:
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}" uploadArchives --no-daemon;
echo "Finished ./gradlew uploadArchives";
#./gradlew publishPlugins;
#echo "Finished ./gradlew publishPlugins (plugin portal)";
popd;
elif ([ "$TRAVIS_BRANCH" == "3.1.x" ] || [ "$TRAVIS_BRANCH" == "4.0.x" ]) ; then
elif ([[ "$TRAVIS_BRANCH" =~ ^[0-9]+\.[0-9]+\.x$ ]]) ; then
mvn clean deploy --settings CI/settings.xml;
echo "Finished mvn clean deploy for $TRAVIS_BRANCH";
pushd .;
cd modules/openapi-generator-gradle-plugin;
./gradlew -PossrhUsername="${SONATYPE_USERNAME}" -PossrhPassword="${SONATYPE_PASSWORD}" uploadArchives --no-daemon;
echo "Finished ./gradlew uploadArchives";
#./gradlew publishPlugins;
#echo "Finished ./gradlew publishPlugins (plugin portal)";
popd;
fi;
fi;
## docker: build and push openapi-generator-online to DockerHub
- if [ $DOCKER_HUB_USERNAME ]; then echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin && docker build -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/openapi-generator-online && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_GENERATOR_IMAGE_NAME:latest $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_GENERATOR_IMAGE_NAME && echo "Pushed to $DOCKER_GENERATOR_IMAGE_NAME"; fi; fi
## docker: build cli image and push to Docker Hub
- if [ $DOCKER_HUB_USERNAME ]; then echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin && docker build -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME && echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME"; fi; fi
- if [ $DOCKER_HUB_USERNAME ]; then echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin && cp docker-entrypoint.sh ./modules/openapi-generator-cli && docker build -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME && echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME"; fi; fi
## publish latest website, variables below are secure environment variables which are unavailable to PRs from forks.
- if [ "$TRAVIS_BRANCH" = "master" ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
cd website;
git config --global user.name "${GH_NAME}";
git config --global user.email "${GH_EMAIL}";
echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc;
npm install;
GIT_USER="${GH_NAME}" npm run-script publish-gh-pages;
fi;
env:
- DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli NODE_ENV=test
- 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

29
CI/.travis.yml.jdk6 Normal file
View File

@@ -0,0 +1,29 @@
dist: trusty
sudo: required
language: java
addons:
apt:
packages:
- openjdk-6-jdk
jdk: openjdk6
cache:
directories:
- $HOME/.m2
- $HOME/.ivy2
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
install:
- jdk_switcher use openjdk6
- java -version
- curl -s "https://get.sdkman.io" | bash
- source "$HOME/.sdkman/bin/sdkman-init.sh"
- sdk version
- sdk install gradle 2.9
- sdk list gradle
- sdk version
- gradle --version
script:
- cd samples/client/petstore/java/jersey2-java6 && gradle test

49
CI/circle_parallel.sh Executable file
View File

@@ -0,0 +1,49 @@
#!/bin/bash
#
# A bash script to run CircleCI node/test in parallel
#
NODE_INDEX=${CIRCLE_NODE_INDEX:-0}
set -e
if [ "$NODE_INDEX" = "1" ]; then
echo "Running node $NODE_INDEX to test 'samples.circleci' defined in pom.xml ..."
#cp CI/pom.xml.circleci pom.xml
java -version
mvn --quiet verify -Psamples.circleci
elif [ "$NODE_INDEX" = "2" ]; then
# run ensure-up-to-date sample script on SNAPSHOT version only
project_version=`mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout`
if [[ $project_version == *"-SNAPSHOT" ]]; then
echo "Running node $NODE_INDEX to test ensure-up-to-date"
java -version
./bin/utils/ensure-up-to-date
fi
#elif [ "$NODE_INDEX" = "3" ]; then
echo "Running node $NODE_INDEX to test haskell"
# install haskell
curl -sSL https://get.haskellstack.org/ | sh
stack upgrade
stack --version
# install r
sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list'
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install r-base
R --version
# install curl
sudo apt-get -y build-dep libcurl4-gnutls-dev
sudo apt-get -y install libcurl4-gnutls-dev
# run integration tests
mvn --quiet verify -Psamples.misc
else
echo "Running node $NODE_INDEX to test 'samples.circleci.jdk7' defined in pom.xml ..."
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
java -version
#cp CI/pom.xml.circleci.java7 pom.xml
mvn --quiet verify -Psamples.circleci.jdk7
fi

View File

@@ -1,942 +0,0 @@
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId>
<packaging>pom</packaging>
<name>openapi-generator-project</name>
<version>3.0.3</version>
<url>https://github.com/openapi-tools/openapi-generator</url>
<scm>
<connection>scm:git:git@github.com:openapi-tools/openapi-generator.git</connection>
<developerConnection>scm:git:git@github.com:openapi-tools/openapi-generator.git</developerConnection>
<url>https://github.com/openapi-tools/openapi-generator</url>
</scm>
<developers>
<!-- original author of the project -->
<developer>
<id>fehguy</id>
<name>Tony Tam</name>
<email>fehguy@gmail.com</email>
</developer>
<!-- openapi-generator core team -->
<developer>
<id>wing328</id>
<name>William Cheng</name>
<email>wing328hk@gmail.com</email>
</developer>
<developer>
<id>jimschubert</id>
<name>Jim Schubert</name>
<email>james.schubert@gmail.com</email>
</developer>
<developer>
<id>cbornet</id>
<name>Christophe Bornet</name>
</developer>
<developer>
<id>jaz-ah</id>
<name>Joseph Zuromski</name>
</developer>
<developer>
<id>ackintosh</id>
<name>Akihito Nakano</name>
</developer>
<developer>
<id>JFCote</id>
<name>Jean-François Côté</name>
</developer>
<developer>
<id>jmini</id>
<name>Jérémie Bresson</name>
<email>dev@jmini.fr</email>
</developer>
</developers>
<issueManagement>
<system>github</system>
<url>https://github.com/openapi-tools/openapi-generator/issues</url>
</issueManagement>
<licenses>
<license>
<name>Apache License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<outputDirectory>target/classes</outputDirectory>
<extensions>
<extension>
<groupId>org.jvnet.wagon-svn</groupId>
<artifactId>wagon-svn</artifactId>
<version>1.8</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>1.0-alpha-6</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-1</version>
</extension>
</extensions>
<defaultGoal>install</defaultGoal>
<directory>target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<!-- Uncomment this to format before checkstyle -->
<!-- <executions>
<execution>
<id>format</id>
<phase>validate</phase>
<goals>
<goal>format</goal>
</goals>
</execution>
</executions> -->
<configuration>
<compilerSource>1.8</compilerSource>
<compilerCompliance>1.8</compilerCompliance>
<compilerTargetPlatform>1.8</compilerTargetPlatform>
<lineEnding>LF</lineEnding>
</configuration>
</plugin>
<!--<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>google_checkstyle.xml</configLocation>
Don't include generated sources a la http://stackoverflow.com/a/30406454
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.19</version>
</dependency>
</dependencies>
</plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire-version}</version>
<configuration>
<testNGArtifactName>none:none</testNGArtifactName>
<argLine>-XX:+StartAttachListener</argLine>
</configuration>
<executions>
<execution>
<id>test-testng</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<junitArtifactName>none:none</junitArtifactName>
<testNGArtifactName>org.testng:testng</testNGArtifactName>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifestEntries>
<mode>development</mode>
<url>${project.url}</url>
<implementation-version>${project.version}</implementation-version>
<package>org.openapi-tools</package>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<aggregate>true</aggregate>
<source>1.8</source>
<encoding>UTF-8</encoding>
<maxmemory>1g</maxmemory>
<failOnWarnings>true</failOnWarnings>
<excludePackageNames>${javadoc.package.exclude}</excludePackageNames>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.2.5</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>0.5.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>release-profile</id>
<properties>
<skipTests>true</skipTests>
</properties>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration/>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>prepare-package</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/scala</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Samples -->
<profile>
<id>android-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/android/volley</module>
</modules>
</profile>
<profile>
<id>bash-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/bash</module>
</modules>
</profile>
<profile>
<id>clojure-client</id>
<activation>
<property>
<name>env</name>
<value>clojure</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/clojure</module>
</modules>
</profile>
<profile>
<id>haskell-http-client</id>
<activation>
<property>
<name>env</name>
<value>haskell-http-client</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/haskell-http-client</module>
</modules>
</profile>
<profile>
<id>haskell-http-client-integration-test</id>
<activation>
<property>
<name>env</name>
<value>haskell-http-client</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/haskell-http-client/tests-integration</module>
</modules>
</profile>
<profile>
<id>java-client-jersey1</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey1</module>
</modules>
</profile>
<profile>
<id>java-client-jersey2</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2</module>
</modules>
</profile>
<profile>
<id>java-client-jersey2-java6</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2-java6</module>
</modules>
</profile>
<profile>
<id>java-client-okhttp-gson</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson</module>
</modules>
</profile>
<profile>
<id>java-client-okhttp-gson-parcelable</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson/parcelableModel</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit2</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit2-rx</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2rx</module>
</modules>
</profile>
<profile>
<id>java-client-feign</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/feign</module>
</modules>
</profile>
<profile>
<id>javascript-client</id>
<activation>
<property>
<name>env</name>
<value>javascript</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/javascript</module>
</modules>
</profile>
<profile>
<id>scala-client</id>
<activation>
<property>
<name>env</name>
<value>scala</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/scala</module>
</modules>
</profile>
<profile>
<id>java-msf4j-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/java-msf4/</module>
</modules>
</profile>
<profile>
<id>jaxrs-cxf-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-cxf</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/default</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-server-joda</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/joda</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server-joda</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap-joda</module>
</modules>
</profile>
<profile>
<id>jaxrs-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey2</module>
</modules>
</profile>
<profile>
<id>jaxrs-server-jersey1</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey1</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-tests-default</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/tests/default</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-default</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/default</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-es6-target</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/es6-target</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-with-npm-version</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/with-npm-version</module>
</modules>
</profile>
<profile>
<id>typescript-angularjs-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-angularjs/npm</module>
</modules>
</profile>
<profile>
<id>typescript-node-npm-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-node/npm</module>
</modules>
</profile>
<profile>
<id>python-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/python</module>
</modules>
</profile>
<profile>
<id>ruby-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/ruby</module>
</modules>
</profile>
<profile>
<id>go-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/go</module>
</modules>
</profile>
<profile>
<id>spring-mvc</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/spring-mvc</module>
</modules>
</profile>
<profile>
<id>springboot-beanvalidation</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-beanvalidation</module>
</modules>
</profile>
<profile>
<id>springboot-reactive</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-reactive</module>
</modules>
</profile>
<profile>
<id>springboot</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot</module>
</modules>
</profile>
<profile>
<id>spring-cloud</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/spring-cloud</module>
</modules>
</profile>
<profile>
<id>scalatra-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/scalatra</module>
</modules>
</profile>
<profile>
<id>java-inflector</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/java-inflector</module>
</modules>
</profile>
<profile>
<id>java-undertowr</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/undertow</module>
</modules>
</profile>
<profile>
<id>samples</id>
<activation>
<property>
<name>env</name>
<value>samples</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/bash</module>
</modules>
</profile>
</profiles>
<modules>
<module>modules/openapi-generator</module>
<module>modules/openapi-generator-cli</module>
<module>modules/openapi-generator-maven-plugin</module>
<module>modules/openapi-generator-online</module>
</modules>
<reporting>
<outputDirectory>target/site</outputDirectory>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>${scala-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
<reportSets>
<reportSet>
<reports>
<report>project-team</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>${jmockit-version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<swagger-parser-version>2.0.1</swagger-parser-version>
<swagger-core-version>2.0.1</swagger-core-version>
<scala-version>2.11.1</scala-version>
<felix-version>3.3.0</felix-version>
<commons-io-version>2.4</commons-io-version>
<commons-cli-version>1.2</commons-cli-version>
<junit-version>4.8.1</junit-version>
<jackson-version>2.8.9</jackson-version>
<maven-plugin-version>1.0.0</maven-plugin-version>
<commons-lang-version>3.4</commons-lang-version>
<slf4j-version>1.7.12</slf4j-version>
<scala-maven-plugin-version>3.2.1</scala-maven-plugin-version>
<jmustache-version>1.14</jmustache-version>
<testng-version>6.9.6</testng-version>
<surefire-version>2.19.1</surefire-version>
<jmockit-version>1.25</jmockit-version>
<reflections-version>0.9.10</reflections-version>
<spring-boot-version>2.0.2.RELEASE</spring-boot-version>
</properties>
</project>

View File

@@ -1,994 +0,0 @@
<!-- for integration tests with Java8 -->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId>
<packaging>pom</packaging>
<name>openapi-generator-project</name>
<version>3.0.3</version>
<url>https://github.com/openapitools/openapi-generator</url>
<scm>
<connection>scm:git:git@github.com:openapitools/openapi-generator.git</connection>
<developerConnection>scm:git:git@github.com:openapitools/openapi-generator.git</developerConnection>
<url>https://github.com/openapitools/openapi-generator</url>
</scm>
<prerequisites>
<maven>2.2.0</maven>
</prerequisites>
<developers>
<!-- original author of the project -->
<developer>
<id>fehguy</id>
<name>Tony Tam</name>
<email>fehguy@gmail.com</email>
</developer>
<!-- openapi-generator core team -->
<developer>
<id>wing328</id>
<name>William Cheng</name>
<email>wing328hk@gmail.com</email>
</developer>
<developer>
<id>jimschubert</id>
<name>Jim Schubert</name>
<email>james.schubert@gmail.com</email>
</developer>
<developer>
<id>cbornet</id>
<name>Christophe Bornet</name>
</developer>
<developer>
<id>jaz-ah</id>
<name>Joseph Zuromski</name>
</developer>
<developer>
<id>ackintosh</id>
<name>Akihito Nakano</name>
</developer>
<developer>
<id>JFCote</id>
<name>Jean-François Côté</name>
</developer>
<developer>
<id>jmini</id>
<name>Jérémie Bresson</name>
<email>dev@jmini.fr</email>
</developer>
</developers>
<issueManagement>
<system>github</system>
<url>https://github.com/openapitools/openapi-generator/issues</url>
</issueManagement>
<licenses>
<license>
<name>Apache License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<outputDirectory>target/classes</outputDirectory>
<extensions>
<extension>
<groupId>org.jvnet.wagon-svn</groupId>
<artifactId>wagon-svn</artifactId>
<version>1.8</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>1.0-alpha-6</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-1</version>
</extension>
</extensions>
<defaultGoal>install</defaultGoal>
<directory>target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<!-- Uncomment this to format before checkstyle -->
<!-- <executions>
<execution>
<id>format</id>
<phase>validate</phase>
<goals>
<goal>format</goal>
</goals>
</execution>
</executions> -->
<configuration>
<compilerSource>1.8</compilerSource>
<compilerCompliance>1.8</compilerCompliance>
<compilerTargetPlatform>1.8</compilerTargetPlatform>
<lineEnding>LF</lineEnding>
</configuration>
</plugin>
<!--<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>google_checkstyle.xml</configLocation>
Don't include generated sources a la http://stackoverflow.com/a/30406454
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.19</version>
</dependency>
</dependencies>
</plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire-version}</version>
<configuration>
<testNGArtifactName>none:none</testNGArtifactName>
<argLine>-XX:+StartAttachListener</argLine>
</configuration>
<executions>
<execution>
<id>test-testng</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<junitArtifactName>none:none</junitArtifactName>
<testNGArtifactName>org.testng:testng</testNGArtifactName>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifestEntries>
<mode>development</mode>
<url>${project.url}</url>
<implementation-version>${project.version}</implementation-version>
<package>org.openapitools</package>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<aggregate>true</aggregate>
<source>1.8</source>
<encoding>UTF-8</encoding>
<maxmemory>1g</maxmemory>
<failOnWarnings>true</failOnWarnings>
<excludePackageNames>${javadoc.package.exclude}</excludePackageNames>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>0.5.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>release-profile</id>
<properties>
<skipTests>true</skipTests>
</properties>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration/>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>prepare-package</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/scala</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Samples -->
<profile>
<id>android-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/android/volley</module>
</modules>
</profile>
<profile>
<id>bash-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/bash</module>
</modules>
</profile>
<profile>
<id>clojure-client</id>
<activation>
<property>
<name>env</name>
<value>clojure</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/clojure</module>
</modules>
</profile>
<profile>
<id>java-client-jersey1</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey1</module>
</modules>
</profile>
<profile>
<id>java-client-jersey2</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2</module>
</modules>
</profile>
<profile>
<id>java-client-jersey2-java6</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2-java6</module>
</modules>
</profile>
<profile>
<id>java-client-okhttp-gson</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson</module>
</modules>
</profile>
<profile>
<id>java-client-okhttp-gson-parcelable</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson/parcelableModel</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit2</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit2-rx</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2rx</module>
</modules>
</profile>
<profile>
<id>java-client-feign</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/feign</module>
</modules>
</profile>
<profile>
<id>javascript-client</id>
<activation>
<property>
<name>env</name>
<value>javascript</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/javascript</module>
</modules>
</profile>
<profile>
<id>scala-client</id>
<activation>
<property>
<name>env</name>
<value>scala</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/scala</module>
</modules>
</profile>
<profile>
<id>java-msf4j-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/java-msf4/</module>
</modules>
</profile>
<profile>
<id>jaxrs-cxf-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-cxf</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/default</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-server-joda</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/joda</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server-java8</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap-java8</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server-joda</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap-joda</module>
</modules>
</profile>
<profile>
<id>jaxrs-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey2</module>
</modules>
</profile>
<profile>
<id>jaxrs-server-jersey1</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey1</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-tests-default</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/tests/default</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-default</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/default</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-es6-target</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/es6-target</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-with-npm-version</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/with-npm-version</module>
</modules>
</profile>
<profile>
<id>typescript-angularjs-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-angularjs/npm</module>
</modules>
</profile>
<profile>
<id>typescript-node-npm-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-node/npm</module>
</modules>
</profile>
<profile>
<id>python-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/python</module>
</modules>
</profile>
<profile>
<id>ruby-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/ruby</module>
</modules>
</profile>
<profile>
<id>go-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/go</module>
</modules>
</profile>
<profile>
<id>spring-mvc</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/spring-mvc</module>
</modules>
</profile>
<profile>
<id>springboot-useoptional</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-useoptional</module>
</modules>
</profile>
<profile>
<id>springboot-beanvalidation</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-beanvalidation</module>
</modules>
</profile>
<profile>
<id>springboot-reactive</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-reactive</module>
</modules>
</profile>
<profile>
<id>springboot</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot</module>
</modules>
</profile>
<profile>
<id>spring-cloud</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/spring-cloud</module>
</modules>
</profile>
<profile>
<id>scalatra-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/scalatra</module>
</modules>
</profile>
<profile>
<id>java-inflector</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/java-inflector</module>
</modules>
</profile>
<profile>
<id>java-undertowr</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/undertow</module>
</modules>
</profile>
<profile>
<id>samples</id>
<activation>
<property>
<name>env</name>
<value>samples</value>
</property>
</activation>
<modules>
<!-- clients -->
<!-- test non-java projects -->
<module>samples/client/petstore/go</module>
<!-- test java-related projects -->
<module>samples/client/petstore/scala-akka</module>
<module>samples/client/petstore/scala-httpclient</module>
<module>samples/client/petstore/scalaz</module>
<module>samples/client/petstore/clojure</module>
<module>samples/client/petstore/java/feign</module>
<module>samples/client/petstore/java/jersey1</module>
<module>samples/client/petstore/java/jersey2</module>
<module>samples/client/petstore/java/okhttp-gson</module>
<module>samples/client/petstore/java/retrofit</module>
<module>samples/client/petstore/java/retrofit2</module>
<module>samples/client/petstore/java/retrofit2rx</module>
<module>samples/client/petstore/jaxrs-cxf-client</module>
<module>samples/client/petstore/java/resttemplate</module>
<module>samples/client/petstore/java/resttemplate-withXml</module>
<module>samples/client/petstore/java/vertx</module>
<module>samples/client/petstore/java/resteasy</module>
<module>samples/client/petstore/java/google-api-client</module>
<module>samples/client/petstore/java/rest-assured</module>
<module>samples/client/petstore/kotlin/</module>
<module>samples/client/petstore/kotlin-threetenbp/</module>
<module>samples/client/petstore/kotlin-string/</module>
<!-- servers -->
<module>samples/server/petstore/java-vertx/rx</module>
<module>samples/server/petstore/java-vertx/async</module>
<module>samples/server/petstore/java-inflector</module>
<module>samples/server/petstore/java-pkmst</module>
<module>samples/server/petstore/java-play-framework</module>
<module>samples/server/petstore/java-play-framework-no-wrap-calls</module>
<module>samples/server/petstore/java-play-framework-no-swagger-ui</module>
<module>samples/server/petstore/java-play-framework-no-interface</module>
<module>samples/server/petstore/java-play-framework-no-exception-handling</module>
<module>samples/server/petstore/java-play-framework-no-bean-validation</module>
<module>samples/server/petstore/java-play-framework-fake-endpoints</module>
<module>samples/server/petstore/java-play-framework-controller-only</module>
<module>samples/server/petstore/java-play-framework-api-package-override</module>
<module>samples/server/petstore/undertow</module>
<module>samples/server/petstore/jaxrs/jersey1</module>
<module>samples/server/petstore/jaxrs/jersey1-useTags</module>
<!-- move to other CI as the following fails often in CircleCI
<module>samples/server/petstore/jaxrs/jersey2</module>
<module>samples/server/petstore/jaxrs/jersey2-useTags</module> -->
<module>samples/server/petstore/jaxrs-datelib-j8</module>
<module>samples/server/petstore/jaxrs-resteasy/default</module>
<module>samples/server/petstore/jaxrs-resteasy/eap</module>
<module>samples/server/petstore/jaxrs-resteasy/eap-joda</module>
<module>samples/server/petstore/jaxrs-resteasy/eap-java8</module>
<module>samples/server/petstore/jaxrs-resteasy/joda</module>
<!--<module>samples/server/petstore/kotlin-server/ktor</module>-->
<!-- move to other CI as the following fails often in CircleCI
<module>samples/server/petstore/spring-mvc</module>
<module>samples/server/petstore/spring-mvc-j8-async</module>
<module>samples/server/petstore/spring-mvc-j8-localdatetime</module>-->
<module>samples/client/petstore/spring-cloud</module>
<module>samples/server/petstore/springboot</module>
<module>samples/server/petstore/springboot-beanvalidation</module>
<module>samples/server/petstore/springboot-useoptional</module>
<module>samples/server/petstore/jaxrs-cxf</module>
<module>samples/server/petstore/jaxrs-cxf-annotated-base-path</module>
<module>samples/server/petstore/jaxrs-cxf-cdi</module>
<module>samples/server/petstore/jaxrs-cxf-non-spring-app</module>
<module>samples/server/petstore/java-msf4j</module>
<module>samples/server/petstore/jaxrs-spec-interface</module>
<module>samples/server/petstore/scala-lagom-server</module>
<module>samples/server/petstore/scalatra</module>
<module>samples/server/petstore/finch</module>
</modules>
</profile>
</profiles>
<modules>
<module>modules/openapi-generator</module>
<module>modules/openapi-generator-cli</module>
<module>modules/openapi-generator-maven-plugin</module>
<module>modules/openapi-generator-online</module>
</modules>
<reporting>
<outputDirectory>target/site</outputDirectory>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>${scala-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
<reportSets>
<reportSet>
<reports>
<report>project-team</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>${jmockit-version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<swagger-parser-version>2.0.1</swagger-parser-version>
<swagger-core-version>2.0.1</swagger-core-version>
<scala-version>2.11.1</scala-version>
<felix-version>3.3.0</felix-version>
<commons-io-version>2.4</commons-io-version>
<commons-cli-version>1.2</commons-cli-version>
<junit-version>4.8.1</junit-version>
<jackson-version>2.8.9</jackson-version>
<maven-plugin-version>1.0.0</maven-plugin-version>
<commons-lang-version>3.4</commons-lang-version>
<slf4j-version>1.7.12</slf4j-version>
<scala-maven-plugin-version>3.2.1</scala-maven-plugin-version>
<jmustache-version>1.14</jmustache-version>
<testng-version>6.9.6</testng-version>
<surefire-version>2.19.1</surefire-version>
<jmockit-version>1.25</jmockit-version>
<reflections-version>0.9.10</reflections-version>
<spring-boot-version>2.0.2.RELEASE</spring-boot-version>
</properties>
</project>

View File

@@ -1,972 +0,0 @@
<!-- for integration tests with Java7 -->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId>
<packaging>pom</packaging>
<name>openapi-generator-project</name>
<version>3.0.3</version>
<url>https://github.com/openapitools/openapi-generator</url>
<scm>
<connection>scm:git:git@github.com:openapitools/openapi-generator.git</connection>
<developerConnection>scm:git:git@github.com:openapitools/openapi-generator.git</developerConnection>
<url>https://github.com/openapitools/openapi-generator</url>
</scm>
<prerequisites>
<maven>2.2.0</maven>
</prerequisites>
<developers>
<!-- original author of the project -->
<developer>
<id>fehguy</id>
<name>Tony Tam</name>
<email>fehguy@gmail.com</email>
</developer>
<!-- openapi-generator core team -->
<developer>
<id>wing328</id>
<name>William Cheng</name>
<email>wing328hk@gmail.com</email>
</developer>
<developer>
<id>jimschubert</id>
<name>Jim Schubert</name>
<email>james.schubert@gmail.com</email>
</developer>
<developer>
<id>cbornet</id>
<name>Christophe Bornet</name>
</developer>
<developer>
<id>jaz-ah</id>
<name>Joseph Zuromski</name>
</developer>
<developer>
<id>ackintosh</id>
<name>Akihito Nakano</name>
</developer>
<developer>
<id>JFCote</id>
<name>Jean-François Côté</name>
</developer>
<developer>
<id>jmini</id>
<name>Jérémie Bresson</name>
<email>dev@jmini.fr</email>
</developer>
</developers>
<issueManagement>
<system>github</system>
<url>https://github.com/openapitools/openapi-generator/issues</url>
</issueManagement>
<licenses>
<license>
<name>Apache License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<outputDirectory>target/classes</outputDirectory>
<extensions>
<extension>
<groupId>org.jvnet.wagon-svn</groupId>
<artifactId>wagon-svn</artifactId>
<version>1.8</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>1.0-alpha-6</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-1</version>
</extension>
</extensions>
<defaultGoal>install</defaultGoal>
<directory>target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<!-- Uncomment this to format before checkstyle -->
<!-- <executions>
<execution>
<id>format</id>
<phase>validate</phase>
<goals>
<goal>format</goal>
</goals>
</execution>
</executions> -->
<configuration>
<compilerSource>1.8</compilerSource>
<compilerCompliance>1.8</compilerCompliance>
<compilerTargetPlatform>1.8</compilerTargetPlatform>
<lineEnding>LF</lineEnding>
</configuration>
</plugin>
<!--<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>google_checkstyle.xml</configLocation>
Don't include generated sources a la http://stackoverflow.com/a/30406454
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.19</version>
</dependency>
</dependencies>
</plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire-version}</version>
<configuration>
<testNGArtifactName>none:none</testNGArtifactName>
<argLine>-XX:+StartAttachListener</argLine>
</configuration>
<executions>
<execution>
<id>test-testng</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<junitArtifactName>none:none</junitArtifactName>
<testNGArtifactName>org.testng:testng</testNGArtifactName>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifestEntries>
<mode>development</mode>
<url>${project.url}</url>
<implementation-version>${project.version}</implementation-version>
<package>org.openapitools</package>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<aggregate>true</aggregate>
<source>1.8</source>
<encoding>UTF-8</encoding>
<maxmemory>1g</maxmemory>
<failOnWarnings>true</failOnWarnings>
<excludePackageNames>${javadoc.package.exclude}</excludePackageNames>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>0.5.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>release-profile</id>
<properties>
<skipTests>true</skipTests>
</properties>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration/>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>prepare-package</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/scala</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Samples -->
<profile>
<id>android-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/android/volley</module>
</modules>
</profile>
<profile>
<id>bash-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/bash</module>
</modules>
</profile>
<profile>
<id>clojure-client</id>
<activation>
<property>
<name>env</name>
<value>clojure</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/clojure</module>
</modules>
</profile>
<profile>
<id>java-client-jersey1</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey1</module>
</modules>
</profile>
<profile>
<id>java-client-jersey2</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2</module>
</modules>
</profile>
<profile>
<id>java-client-jersey2-java6</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2-java6</module>
</modules>
</profile>
<profile>
<id>java-client-okhttp-gson</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson</module>
</modules>
</profile>
<profile>
<id>java-client-okhttp-gson-parcelable</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson/parcelableModel</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit2</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit2-rx</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2rx</module>
</modules>
</profile>
<profile>
<id>java-client-feign</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/feign</module>
</modules>
</profile>
<profile>
<id>javascript-client</id>
<activation>
<property>
<name>env</name>
<value>javascript</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/javascript</module>
</modules>
</profile>
<profile>
<id>scala-client</id>
<activation>
<property>
<name>env</name>
<value>scala</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/scala</module>
</modules>
</profile>
<profile>
<id>java-msf4j-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/java-msf4/</module>
</modules>
</profile>
<profile>
<id>jaxrs-cxf-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-cxf</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/default</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-server-joda</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/joda</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server-java8</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap-java8</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server-joda</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap-joda</module>
</modules>
</profile>
<profile>
<id>jaxrs-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey2</module>
</modules>
</profile>
<profile>
<id>jaxrs-server-jersey1</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey1</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-tests-default</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/tests/default</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-default</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/default</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-es6-target</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/es6-target</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-with-npm-version</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/with-npm-version</module>
</modules>
</profile>
<profile>
<id>typescript-angularjs-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-angularjs/npm</module>
</modules>
</profile>
<profile>
<id>typescript-node-npm-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-node/npm</module>
</modules>
</profile>
<profile>
<id>python-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/python</module>
</modules>
</profile>
<profile>
<id>ruby-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/ruby</module>
</modules>
</profile>
<profile>
<id>go-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/go</module>
</modules>
</profile>
<profile>
<id>spring-mvc</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/spring-mvc</module>
</modules>
</profile>
<profile>
<id>springboot-useoptional</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-useoptional</module>
</modules>
</profile>
<profile>
<id>springboot-beanvalidation</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-beanvalidation</module>
</modules>
</profile>
<profile>
<id>springboot-reactive</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-reactive</module>
</modules>
</profile>
<profile>
<id>springboot</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot</module>
</modules>
</profile>
<profile>
<id>spring-cloud</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/spring-cloud</module>
</modules>
</profile>
<profile>
<id>scalatra-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/scalatra</module>
</modules>
</profile>
<profile>
<id>java-inflector</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/java-inflector</module>
</modules>
</profile>
<profile>
<id>java-undertowr</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/undertow</module>
</modules>
</profile>
<profile>
<id>samples</id>
<activation>
<property>
<name>env</name>
<value>samples</value>
</property>
</activation>
<modules>
<!-- clients -->
<!-- test java-related projects -->
<module>samples/client/petstore/scala-akka</module>
<module>samples/client/petstore/scala-httpclient</module>
<module>samples/client/petstore/scalaz</module>
<module>samples/client/petstore/clojure</module>
<module>samples/client/petstore/java/feign</module>
<module>samples/client/petstore/java/jersey1</module>
<module>samples/client/petstore/java/jersey2</module>
<module>samples/client/petstore/java/okhttp-gson</module>
<module>samples/client/petstore/java/retrofit</module>
<module>samples/client/petstore/java/retrofit2</module>
<module>samples/client/petstore/java/retrofit2rx</module>
<module>samples/client/petstore/jaxrs-cxf-client</module>
<module>samples/client/petstore/java/resttemplate</module>
<module>samples/client/petstore/java/resttemplate-withXml</module>
<module>samples/client/petstore/java/vertx</module>
<module>samples/client/petstore/java/resteasy</module>
<module>samples/client/petstore/java/google-api-client</module>
<module>samples/client/petstore/kotlin/</module>
<!-- test non-java projects -->
<!--<module>samples/client/petstore/go</module>-->
<!-- servers -->
<module>samples/server/petstore/java-vertx/rx</module>
<module>samples/server/petstore/java-vertx/async</module>
<module>samples/server/petstore/java-inflector</module>
<module>samples/server/petstore/undertow</module>
<module>samples/server/petstore/jaxrs/jersey1</module>
<module>samples/server/petstore/jaxrs/jersey2</module>
<module>samples/server/petstore/jaxrs/jersey1-useTags</module>
<module>samples/server/petstore/jaxrs/jersey2-useTags</module>
<module>samples/server/petstore/jaxrs-resteasy/default</module>
<module>samples/server/petstore/jaxrs-resteasy/eap</module>
<module>samples/server/petstore/jaxrs-resteasy/eap-joda</module>
<module>samples/server/petstore/jaxrs-resteasy/eap-java8</module>
<module>samples/server/petstore/jaxrs-resteasy/joda</module>
<module>samples/server/petstore/spring-mvc</module>
<module>samples/client/petstore/spring-cloud</module>
<module>samples/server/petstore/springboot</module>
<module>samples/server/petstore/springboot-beanvalidation</module>
<module>samples/server/petstore/springboot-useoptional</module>
<module>samples/server/petstore/jaxrs-cxf</module>
<module>samples/server/petstore/jaxrs-cxf-annotated-base-path</module>
<module>samples/server/petstore/jaxrs-cxf-cdi</module>
<module>samples/server/petstore/jaxrs-cxf-non-spring-app</module>
<module>samples/server/petstore/java-msf4j</module>
<module>samples/server/petstore/jaxrs-spec-interface</module>
</modules>
</profile>
</profiles>
<modules>
<module>modules/openapi-generator</module>
<module>modules/openapi-generator-cli</module>
<module>modules/openapi-generator-maven-plugin</module>
<module>modules/openapi-generator-online</module>
</modules>
<reporting>
<outputDirectory>target/site</outputDirectory>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>${scala-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
<reportSets>
<reportSet>
<reports>
<report>project-team</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>${jmockit-version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<swagger-parser-version>2.0.1</swagger-parser-version>
<swagger-core-version>2.0.1</swagger-core-version>
<scala-version>2.11.1</scala-version>
<felix-version>3.3.0</felix-version>
<commons-io-version>2.4</commons-io-version>
<commons-cli-version>1.2</commons-cli-version>
<junit-version>4.8.1</junit-version>
<jackson-version>2.8.9</jackson-version>
<maven-plugin-version>1.0.0</maven-plugin-version>
<commons-lang-version>3.4</commons-lang-version>
<slf4j-version>1.7.12</slf4j-version>
<scala-maven-plugin-version>3.2.1</scala-maven-plugin-version>
<jmustache-version>1.12</jmustache-version>
<testng-version>6.9.6</testng-version>
<surefire-version>2.19.1</surefire-version>
<jmockit-version>1.25</jmockit-version>
<reflections-version>0.9.10</reflections-version>
<spring-boot-version>2.0.2.RELEASE</spring-boot-version>
</properties>
</project>

View File

@@ -1,950 +0,0 @@
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId>
<packaging>pom</packaging>
<name>openapi-generator-project</name>
<version>3.0.3</version>
<url>https://github.com/openapitools/openapi-generator</url>
<scm>
<connection>scm:git:git@github.com:openapitools/openapi-generator.git</connection>
<developerConnection>scm:git:git@github.com:openapitools/openapi-generator.git</developerConnection>
<url>https://github.com/openapitools/openapi-generator</url>
</scm>
<developers>
<!-- original author of the project -->
<developer>
<id>fehguy</id>
<name>Tony Tam</name>
<email>fehguy@gmail.com</email>
</developer>
<!-- openapi-generator core team -->
<developer>
<id>wing328</id>
<name>William Cheng</name>
<email>wing328hk@gmail.com</email>
</developer>
<developer>
<id>jimschubert</id>
<name>Jim Schubert</name>
<email>james.schubert@gmail.com</email>
</developer>
<developer>
<id>cbornet</id>
<name>Christophe Bornet</name>
</developer>
<developer>
<id>jaz-ah</id>
<name>Joseph Zuromski</name>
</developer>
<developer>
<id>ackintosh</id>
<name>Akihito Nakano</name>
</developer>
<developer>
<id>JFCote</id>
<name>Jean-François Côté</name>
</developer>
<developer>
<id>jmini</id>
<name>Jérémie Bresson</name>
<email>dev@jmini.fr</email>
</developer>
</developers>
<issueManagement>
<system>github</system>
<url>https://github.com/openapitools/openapi-generator/issues</url>
</issueManagement>
<licenses>
<license>
<name>Apache License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<outputDirectory>target/classes</outputDirectory>
<extensions>
<extension>
<groupId>org.jvnet.wagon-svn</groupId>
<artifactId>wagon-svn</artifactId>
<version>1.8</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>1.0-alpha-6</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-1</version>
</extension>
</extensions>
<defaultGoal>install</defaultGoal>
<directory>target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<!-- Uncomment this to format before checkstyle -->
<!-- <executions>
<execution>
<id>format</id>
<phase>validate</phase>
<goals>
<goal>format</goal>
</goals>
</execution>
</executions> -->
<configuration>
<compilerSource>1.8</compilerSource>
<compilerCompliance>1.8</compilerCompliance>
<compilerTargetPlatform>1.8</compilerTargetPlatform>
<lineEnding>LF</lineEnding>
</configuration>
</plugin>
<!--<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>google_checkstyle.xml</configLocation>
Don't include generated sources a la http://stackoverflow.com/a/30406454
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.19</version>
</dependency>
</dependencies>
</plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire-version}</version>
<configuration>
<testNGArtifactName>none:none</testNGArtifactName>
<argLine>-XX:+StartAttachListener</argLine>
</configuration>
<executions>
<execution>
<id>test-testng</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<junitArtifactName>none:none</junitArtifactName>
<testNGArtifactName>org.testng:testng</testNGArtifactName>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifestEntries>
<mode>development</mode>
<url>${project.url}</url>
<implementation-version>${project.version}</implementation-version>
<package>org.openapitools</package>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<aggregate>true</aggregate>
<source>1.8</source>
<encoding>UTF-8</encoding>
<maxmemory>1g</maxmemory>
<failOnWarnings>true</failOnWarnings>
<excludePackageNames>${javadoc.package.exclude}</excludePackageNames>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.2.5</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>0.5.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>release-profile</id>
<properties>
<skipTests>true</skipTests>
</properties>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration/>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>prepare-package</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/scala</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Samples -->
<profile>
<id>android-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/android/volley</module>
</modules>
</profile>
<profile>
<id>bash-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/bash</module>
</modules>
</profile>
<profile>
<id>clojure-client</id>
<activation>
<property>
<name>env</name>
<value>clojure</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/clojure</module>
</modules>
</profile>
<profile>
<id>haskell-http-client</id>
<activation>
<property>
<name>env</name>
<value>haskell-http-client</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/haskell-http-client</module>
</modules>
</profile>
<profile>
<id>haskell-http-client-integration-test</id>
<activation>
<property>
<name>env</name>
<value>haskell-http-client</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/haskell-http-client/tests-integration</module>
</modules>
</profile>
<profile>
<id>java-client-jersey1</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey1</module>
</modules>
</profile>
<profile>
<id>java-client-jersey2</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2</module>
</modules>
</profile>
<profile>
<id>java-client-jersey2-java6</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2-java6</module>
</modules>
</profile>
<profile>
<id>java-client-okhttp-gson</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson</module>
</modules>
</profile>
<profile>
<id>java-client-okhttp-gson-parcelable</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson/parcelableModel</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit2</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2</module>
</modules>
</profile>
<profile>
<id>java-client-retrofit2-rx</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2rx</module>
</modules>
</profile>
<profile>
<id>java-client-feign</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/java/feign</module>
</modules>
</profile>
<profile>
<id>javascript-client</id>
<activation>
<property>
<name>env</name>
<value>javascript</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/javascript</module>
</modules>
</profile>
<profile>
<id>scala-client</id>
<activation>
<property>
<name>env</name>
<value>scala</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/scala</module>
</modules>
</profile>
<profile>
<id>java-msf4j-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/java-msf4/</module>
</modules>
</profile>
<profile>
<id>jaxrs-cxf-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-cxf</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/default</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-server-joda</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/joda</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap</module>
</modules>
</profile>
<profile>
<id>jaxrs-resteasy-eap-server-joda</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap-joda</module>
</modules>
</profile>
<profile>
<id>jaxrs-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey2</module>
</modules>
</profile>
<profile>
<id>jaxrs-server-jersey1</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey1</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-tests-default</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/tests/default</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-default</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/default</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-es6-target</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/es6-target</module>
</modules>
</profile>
<profile>
<id>typescript-fetch-client-builds-with-npm-version</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/with-npm-version</module>
</modules>
</profile>
<profile>
<id>typescript-angularjs-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-angularjs/npm</module>
</modules>
</profile>
<profile>
<id>typescript-node-npm-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-node/npm</module>
</modules>
</profile>
<profile>
<id>python-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/python</module>
</modules>
</profile>
<profile>
<id>ruby-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/ruby</module>
</modules>
</profile>
<profile>
<id>go-client</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/go</module>
</modules>
</profile>
<profile>
<id>spring-mvc</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/spring-mvc</module>
</modules>
</profile>
<profile>
<id>springboot-beanvalidation</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-beanvalidation</module>
</modules>
</profile>
<profile>
<id>springboot-reactive</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-reactive</module>
</modules>
</profile>
<profile>
<id>springboot</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot</module>
</modules>
</profile>
<profile>
<id>spring-cloud</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/spring-cloud</module>
</modules>
</profile>
<profile>
<id>scalatra-server</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/scalatra</module>
</modules>
</profile>
<profile>
<id>java-inflector</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/java-inflector</module>
</modules>
</profile>
<profile>
<id>java-undertowr</id>
<activation>
<property>
<name>env</name>
<value>java</value>
</property>
</activation>
<modules>
<module>samples/server/petstore/undertow</module>
</modules>
</profile>
<profile>
<id>samples</id>
<activation>
<property>
<name>env</name>
<value>samples</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/swift3/default/SwaggerClientTests</module>
<module>samples/client/petstore/swift3/promisekit/SwaggerClientTests</module>
<module>samples/client/petstore/swift3/rxswift/SwaggerClientTests</module>
<module>samples/client/petstore/swift/default/SwaggerClientTests</module>
<module>samples/client/petstore/swift/promisekit/SwaggerClientTests</module>
<module>samples/client/petstore/swift/rxswift/SwaggerClientTests</module>
<!-- comment out objc tests as it's timing out
<module>samples/client/petstore/objc/default/SwaggerClientTests</module>
<module>samples/client/petstore/objc/core-data/SwaggerClientTests</module>-->
</modules>
</profile>
</profiles>
<modules>
<module>modules/openapi-generator</module>
<module>modules/openapi-generator-cli</module>
<module>modules/openapi-generator-maven-plugin</module>
<module>modules/openapi-generator-online</module>
</modules>
<reporting>
<outputDirectory>target/site</outputDirectory>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>${scala-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
<reportSets>
<reportSet>
<reports>
<report>project-team</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>${jmockit-version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<swagger-parser-version>2.0.1</swagger-parser-version>
<swagger-core-version>2.0.1</swagger-core-version>
<scala-version>2.11.1</scala-version>
<felix-version>3.3.0</felix-version>
<commons-io-version>2.4</commons-io-version>
<commons-cli-version>1.2</commons-cli-version>
<junit-version>4.8.1</junit-version>
<jackson-version>2.8.9</jackson-version>
<maven-plugin-version>1.0.0</maven-plugin-version>
<commons-lang-version>3.4</commons-lang-version>
<slf4j-version>1.7.12</slf4j-version>
<scala-maven-plugin-version>3.2.1</scala-maven-plugin-version>
<jmustache-version>1.14</jmustache-version>
<testng-version>6.9.6</testng-version>
<surefire-version>2.19.1</surefire-version>
<jmockit-version>1.25</jmockit-version>
<reflections-version>0.9.10</reflections-version>
<spring-boot-version>2.0.2.RELEASE</spring-boot-version>
</properties>
</project>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
-->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Org.OpenAPITools\Org.OpenAPITools.csproj">
<Name>Org.OpenAPITools</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="linux-logo.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CompareNETObjects" Version="4.57.0" />
<PackageReference Include="JsonSubTypes" Version="1.5.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
<PackageReference Include="RestSharp" Version="106.6.7" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.5.0" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
-->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Org.OpenAPITools\Org.OpenAPITools.csproj">
<Name>Org.OpenAPITools</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="linux-logo.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CompareNETObjects" Version="4.57.0" />
<PackageReference Include="JsonSubTypes" Version="1.5.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
<PackageReference Include="RestSharp" Version="106.6.7" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.5.0" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,122 @@
apply plugin: 'idea'
apply plugin: 'eclipse'
group = 'org.openapitools'
version = '1.0.0'
buildscript {
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.+'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
}
}
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
if(hasProperty('target') && target == 'android') {
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
android {
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
minSdkVersion 14
targetSdkVersion 25
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
// Rename the aar correctly
libraryVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.aar')) {
def fileName = "${project.name}-${variant.baseName}-${version}.aar"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
dependencies {
provided 'javax.annotation:jsr250-api:1.0'
}
}
afterEvaluate {
android.libraryVariants.all { variant ->
def task = project.tasks.create "jar${variant.name.capitalize()}", Jar
task.description = "Create jar artifact for ${variant.name}"
task.dependsOn variant.javaCompile
task.from variant.javaCompile.destinationDir
task.destinationDir = project.file("${project.buildDir}/outputs/jar")
task.archiveName = "${project.name}-${variant.baseName}-${version}.jar"
artifacts.add('archives', task);
}
}
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
artifacts {
archives sourcesJar
}
} else {
apply plugin: 'java'
apply plugin: 'maven'
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6
install {
repositories.mavenInstaller {
pom.artifactId = 'petstore-jersey2-java6'
}
}
task execute(type:JavaExec) {
main = System.getProperty('mainClass')
classpath = sourceSets.main.runtimeClasspath
}
}
ext {
swagger_annotations_version = "1.5.20"
jackson_version = "2.9.6"
jersey_version = "2.6"
commons_io_version=2.5
commons_lang3_version=3.6
junit_version = "4.12"
threetenbp_version = "2.6.4"
}
dependencies {
compile "io.swagger:swagger-annotations:$swagger_annotations_version"
compile "org.glassfish.jersey.core:jersey-client:$jersey_version"
compile "org.glassfish.jersey.media:jersey-media-multipart:$jersey_version"
compile "org.glassfish.jersey.media:jersey-media-json-jackson:$jersey_version"
compile "com.fasterxml.jackson.core:jackson-core:$jackson_version"
compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version"
compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version"
compile "commons-io:commons-io:$commons_io_version"
compile "org.apache.commons:commons-lang3:$commons_lang3_version"
compile "com.github.joschi.jackson:jackson-datatype-threetenbp:$threetenbp_version"
compile "com.brsanthu:migbase64:2.2"
testCompile "junit:junit:$junit_version"
}

View File

@@ -28,7 +28,7 @@ public class ApiClientTest {
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00")));
// custom date format: without milli-seconds, custom time zone
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT);
format.setTimeZone(TimeZone.getTimeZone("GMT+10"));
apiClient.setDateFormat(format);
dateStr = "2015-11-07T13:49:09+10:00";

View File

@@ -28,7 +28,7 @@ public class ApiClientTest {
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00")));
// custom date format: without milli-seconds, custom time zone
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT);
format.setTimeZone(TimeZone.getTimeZone("GMT+10"));
apiClient.setDateFormat(format);
dateStr = "2015-11-07T13:49:09+10:00";

View File

@@ -1,5 +1,6 @@
package org.openapitools.client;
import okhttp3.OkHttpClient;
import org.openapitools.client.auth.*;
import java.text.DateFormat;
@@ -157,41 +158,41 @@ public class ApiClientTest {
public void testGetAndSetConnectTimeout() {
// connect timeout defaults to 10 seconds
assertEquals(10000, apiClient.getConnectTimeout());
assertEquals(10000, apiClient.getHttpClient().getConnectTimeout());
assertEquals(10000, apiClient.getHttpClient().connectTimeoutMillis());
apiClient.setConnectTimeout(0);
assertEquals(0, apiClient.getConnectTimeout());
assertEquals(0, apiClient.getHttpClient().getConnectTimeout());
assertEquals(0, apiClient.getHttpClient().connectTimeoutMillis());
apiClient.setConnectTimeout(10000);
}
@Test
public void testGetAndSetReadTimeout() {
// read timeout defaults to 10 seconds
assertEquals(10000, apiClient.getReadTimeout());
assertEquals(10000, apiClient.getHttpClient().getReadTimeout());
assertEquals(10000, apiClient.getHttpClient().readTimeoutMillis());
apiClient.setReadTimeout(0);
assertEquals(0, apiClient.getReadTimeout());
assertEquals(0, apiClient.getHttpClient().getReadTimeout());
assertEquals(0, apiClient.getHttpClient().readTimeoutMillis());
apiClient.setReadTimeout(10000);
}
@Test
public void testGetAndSetWriteTimeout() {
// write timeout defaults to 10 seconds
assertEquals(10000, apiClient.getWriteTimeout());
assertEquals(10000, apiClient.getHttpClient().getWriteTimeout());
assertEquals(10000, apiClient.getHttpClient().writeTimeoutMillis());
apiClient.setWriteTimeout(0);
assertEquals(0, apiClient.getWriteTimeout());
assertEquals(0, apiClient.getHttpClient().getWriteTimeout());
assertEquals(0, apiClient.getHttpClient().writeTimeoutMillis());
apiClient.setWriteTimeout(10000);
}
@Test
public void testParameterToPairWhenNameIsInvalid() throws Exception {
List<Pair> pairs_a = apiClient.parameterToPair(null, new Integer(1));
@@ -327,4 +328,25 @@ public class ApiClientTest {
assertEquals("sun.gif", apiClient.sanitizeFilename("c:\\var\\tmp\\sun.gif"));
assertEquals("sun.gif", apiClient.sanitizeFilename(".\\sun.gif"));
}
@Test
public void testInterceptorCleanupWithNewClient() {
OkHttpClient oldClient = apiClient.getHttpClient();
assertEquals(1, oldClient.networkInterceptors().size());
OkHttpClient newClient = new OkHttpClient();
apiClient.setHttpClient(newClient);
assertEquals(1, apiClient.getHttpClient().networkInterceptors().size());
apiClient.setHttpClient(newClient);
assertEquals(1, apiClient.getHttpClient().networkInterceptors().size());
}
@Test
public void testInterceptorCleanupWithSameClient() {
OkHttpClient oldClient = apiClient.getHttpClient();
assertEquals(1, oldClient.networkInterceptors().size());
apiClient.setHttpClient(oldClient);
assertEquals(1, apiClient.getHttpClient().networkInterceptors().size());
}
}

View File

@@ -12,6 +12,7 @@ import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.TimeZone;
import okio.ByteString;
@@ -46,7 +47,7 @@ public class JSONTest {
assertEquals(json.deserialize("\"2015-11-07T03:49:09.356" + getCurrentTimezoneOffset() + "\"", java.sql.Date.class).toString(), date.toString());
// custom date format: without day
DateFormat format = new SimpleDateFormat("yyyy-MM");
DateFormat format = new SimpleDateFormat("yyyy-MM", Locale.ROOT);
apiClient.setSqlDateFormat(format);
String dateStr = "\"2015-11\"";
assertEquals(dateStr, json.serialize(json.deserialize("\"2015-11-07T03:49:09Z\"", java.sql.Date.class)));
@@ -79,7 +80,7 @@ public class JSONTest {
assertEquals(utcDate, json.serialize(date));
// custom datetime format: without milli-seconds, custom time zone
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT);
format.setTimeZone(TimeZone.getTimeZone("GMT+10"));
apiClient.setDateFormat(format);
@@ -190,10 +191,10 @@ public class JSONTest {
public static String getCurrentTimezoneOffset() {
TimeZone tz = TimeZone.getDefault();
Calendar cal = GregorianCalendar.getInstance(tz);
Calendar cal = GregorianCalendar.getInstance(tz, Locale.ROOT);
int offsetInMillis = tz.getOffset(cal.getTimeInMillis());
String offset = String.format("%02d:%02d", Math.abs(offsetInMillis / 3600000), Math.abs((offsetInMillis / 60000) % 60));
String offset = String.format(Locale.ROOT,"%02d:%02d", Math.abs(offsetInMillis / 3600000), Math.abs((offsetInMillis / 60000) % 60));
offset = (offsetInMillis >= 0 ? "+" : "-") + offset;
return offset;

View File

@@ -0,0 +1,533 @@
/*
* OpenAPI Petstore
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.client.api;
import org.openapitools.client.ApiException;
import org.openapitools.client.model.Pet;
import org.openapitools.client.auth.*;
import org.openapitools.client.model.*;
import org.openapitools.client.*;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import org.junit.*;
import static org.junit.Assert.*;
/**
* API tests for PetApi
*/
public class PetApiTest {
private PetApi api = new PetApi();
@Before
public void setup() {
// setup authentication
ApiKeyAuth apiKeyAuth = (ApiKeyAuth) api.getApiClient().getAuthentication("api_key");
apiKeyAuth.setApiKey("special-key");
}
@Test
public void testApiClient() {
// the default api client is used
assertEquals(Configuration.getDefaultApiClient(), api.getApiClient());
assertNotNull(api.getApiClient());
assertEquals("http://petstore.swagger.io:80/v2", api.getApiClient().getBasePath());
assertFalse(api.getApiClient().isDebugging());
ApiClient oldClient = api.getApiClient();
ApiClient newClient = new ApiClient();
newClient.setBasePath("http://example.com");
newClient.setDebugging(true);
// set api client via constructor
api = new PetApi(newClient);
assertNotNull(api.getApiClient());
assertEquals("http://example.com", api.getApiClient().getBasePath());
assertTrue(api.getApiClient().isDebugging());
// set api client via setter method
api.setApiClient(oldClient);
assertNotNull(api.getApiClient());
assertEquals("http://petstore.swagger.io:80/v2", api.getApiClient().getBasePath());
assertFalse(api.getApiClient().isDebugging());
}
@Test
public void testCreateAndGetPet() throws Exception {
Pet pet = createPet();
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
assertPetMatches(pet, fetched);
}
@Test
public void testCreateAndGetPetWithHttpInfo() throws Exception {
Pet pet = createPet();
api.addPetWithHttpInfo(pet);
ApiResponse<Pet> resp = api.getPetByIdWithHttpInfo(pet.getId());
assertEquals(200, resp.getStatusCode());
assertEquals("application/json", resp.getHeaders().get("Content-Type").get(0));
Pet fetched = resp.getData();
assertPetMatches(pet, fetched);
}
@Test
public void testCreateAndGetPetAsync() throws Exception {
Pet pet = createPet();
api.addPet(pet);
// to store returned Pet or error message/exception
final Map<String, Object> result = new HashMap<String, Object>();
api.getPetByIdAsync(pet.getId(), new ApiCallback<Pet>() {
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("error", e.getMessage());
}
@Override
public void onSuccess(Pet pet, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("pet", pet);
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
//empty
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
//empty
}
});
// the API call should be executed asynchronously, so result should be empty at the moment
assertTrue(result.isEmpty());
// wait for the asynchronous call to finish (at most 10 seconds)
final int maxTry = 10;
int tryCount = 1;
Pet fetched = null;
do {
if (tryCount > maxTry) fail("have not got result of getPetByIdAsync after 10 seconds");
Thread.sleep(1000);
tryCount += 1;
if (result.get("error") != null) fail((String) result.get("error"));
if (result.get("pet") != null) {
fetched = (Pet) result.get("pet");
break;
}
} while (result.isEmpty());
assertPetMatches(pet, fetched);
// test getting a nonexistent pet
result.clear();
api.getPetByIdAsync(-10000L, new ApiCallback<Pet>() {
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("exception", e);
}
@Override
public void onSuccess(Pet pet, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("pet", pet);
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
//empty
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
//empty
}
});
// wait for the asynchronous call to finish (at most 10 seconds)
tryCount = 1;
ApiException exception = null;
do {
if (tryCount > maxTry) fail("have not got result of getPetByIdAsync after 10 seconds");
Thread.sleep(1000);
tryCount += 1;
if (result.get("pet") != null) fail("expected an error");
if (result.get("exception") != null) {
exception = (ApiException) result.get("exception");
break;
}
} while (result.isEmpty());
assertNotNull(exception);
assertEquals(404, exception.getCode());
assertEquals("Not Found", exception.getMessage());
assertEquals("application/json", exception.getResponseHeaders().get("Content-Type").get(0));
}
@Test
public void testCreateAndGetMultiplePetsAsync() throws Exception {
Pet pet1 = createPet();
Pet pet2 = createPet();
final CountDownLatch addLatch = new CountDownLatch(2);
final TestApiCallback<Void> addCallback1 = new TestApiCallback<Void>(addLatch);
final TestApiCallback<Void> addCallback2 = new TestApiCallback<Void>(addLatch);
// Make 2 simultaneous calls
api.addPetAsync(pet1, addCallback1);
api.addPetAsync(pet2, addCallback2);
// wait for both asynchronous calls to finish (at most 10 seconds)
assertTrue(addLatch.await(10, TimeUnit.SECONDS));
assertTrue(addCallback1.isDone());
assertTrue(addCallback2.isDone());
if (!addCallback1.isSuccess()) throw addCallback1.getException();
if (!addCallback2.isSuccess()) throw addCallback2.getException();
assertValidProgress(addCallback1.getUploadProgress());
assertValidProgress(addCallback2.getUploadProgress());
final CountDownLatch getLatch = new CountDownLatch(3);
final TestApiCallback<Pet> getCallback1 = new TestApiCallback<Pet>(getLatch);
final TestApiCallback<Pet> getCallback2 = new TestApiCallback<Pet>(getLatch);
final TestApiCallback<Pet> getCallback3 = new TestApiCallback<Pet>(getLatch);
api.getPetByIdAsync(pet1.getId(), getCallback1);
api.getPetByIdAsync(pet2.getId(), getCallback2);
// Get nonexistent pet
api.getPetByIdAsync(-10000L, getCallback3);
// wait for all asynchronous calls to finish (at most 10 seconds)
assertTrue(getLatch.await(10, TimeUnit.SECONDS));
assertTrue(getCallback1.isDone());
assertTrue(getCallback2.isDone());
assertTrue(getCallback3.isDone());
if (!getCallback1.isSuccess()) throw getCallback1.getException();
if (!getCallback2.isSuccess()) throw getCallback2.getException();
assertPetMatches(pet1, getCallback1.getResult());
assertPetMatches(pet2, getCallback2.getResult());
assertValidProgress(getCallback1.getDownloadProgress());
assertValidProgress(getCallback2.getDownloadProgress());
// Last callback should fail with ApiException
assertFalse(getCallback3.isSuccess());
final ApiException exception = getCallback3.getException();
assertNotNull(exception);
assertEquals(404, exception.getCode());
}
@Test
public void testUpdatePet() throws Exception {
Pet pet = createPet();
pet.setName("programmer");
api.updatePet(pet);
Pet fetched = api.getPetById(pet.getId());
assertPetMatches(pet, fetched);
}
@Test
public void testFindPetsByStatus() throws Exception {
Pet pet = createPet();
pet.setName("programmer");
pet.setStatus(Pet.StatusEnum.PENDING);
api.updatePet(pet);
List<Pet> pets = api.findPetsByStatus(Arrays.asList("pending"));
assertNotNull(pets);
boolean found = false;
for (Pet fetched : pets) {
if (fetched.getId().equals(pet.getId())) {
found = true;
break;
}
}
assertTrue(found);
api.deletePet(pet.getId(), null);
}
@Test
@Ignore
public void testFindPetsByTags() throws Exception {
Pet pet = createPet();
pet.setName("monster");
pet.setStatus(Pet.StatusEnum.AVAILABLE);
List<Tag> tags = new ArrayList<Tag>();
Tag tag1 = new Tag();
tag1.setName("friendly");
tags.add(tag1);
pet.setTags(tags);
api.updatePet(pet);
List<Pet> pets = api.findPetsByTags(Arrays.asList("friendly"));
assertNotNull(pets);
boolean found = false;
for (Pet fetched : pets) {
if (fetched.getId().equals(pet.getId())) {
found = true;
break;
}
}
assertTrue(found);
api.deletePet(pet.getId(), null);
}
@Test
public void testUpdatePetWithForm() throws Exception {
Pet pet = createPet();
pet.setName("frank");
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
api.updatePetWithForm(fetched.getId(), "furt", null);
Pet updated = api.getPetById(fetched.getId());
assertEquals(updated.getName(), "furt");
}
@Test
public void testDeletePet() throws Exception {
Pet pet = createPet();
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
api.deletePet(fetched.getId(), null);
try {
fetched = api.getPetById(fetched.getId());
fail("expected an error");
} catch (ApiException e) {
assertEquals(404, e.getCode());
}
}
@Test
public void testUploadFile() throws Exception {
Pet pet = createPet();
api.addPet(pet);
File file = new File("hello.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write("Hello world!");
writer.close();
api.uploadFile(pet.getId(), "a test file", new File(file.getAbsolutePath()));
}
@Test
public void testEqualsAndHashCode() {
Pet pet1 = new Pet();
Pet pet2 = new Pet();
assertTrue(pet1.equals(pet2));
assertTrue(pet2.equals(pet1));
assertTrue(pet1.hashCode() == pet2.hashCode());
assertTrue(pet1.equals(pet1));
assertTrue(pet1.hashCode() == pet1.hashCode());
pet2.setName("really-happy");
pet2.setPhotoUrls(Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2"));
assertFalse(pet1.equals(pet2));
assertFalse(pet2.equals(pet1));
assertFalse(pet1.hashCode() == (pet2.hashCode()));
assertTrue(pet2.equals(pet2));
assertTrue(pet2.hashCode() == pet2.hashCode());
pet1.setName("really-happy");
pet1.setPhotoUrls(Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2"));
assertTrue(pet1.equals(pet2));
assertTrue(pet2.equals(pet1));
assertTrue(pet1.hashCode() == pet2.hashCode());
assertTrue(pet1.equals(pet1));
assertTrue(pet1.hashCode() == pet1.hashCode());
}
private Pet createPet() {
Pet pet = new Pet();
pet.setId(1234567L);
pet.setName("gorilla");
Category category = new Category();
category.setName("really-happy");
pet.setCategory(category);
pet.setStatus(Pet.StatusEnum.AVAILABLE);
List<String> photos = Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2");
pet.setPhotoUrls(photos);
return pet;
}
private String serializeJson(Object o, ApiClient apiClient) {
return apiClient.getJSON().serialize(o);
}
private <T> T deserializeJson(String json, Type type, ApiClient apiClient) {
return (T) apiClient.getJSON().deserialize(json, type);
}
private void assertPetMatches(Pet expected, Pet actual) {
assertNotNull(actual);
assertEquals(expected.getId(), actual.getId());
assertNotNull(actual.getCategory());
assertEquals(expected.getCategory().getName(),
actual.getCategory().getName());
}
/**
* Assert that the given upload/download progress list satisfies the
* following constraints:
*
* - List is not empty
* - Byte count should be nondecreasing
* - The last element, and only the last element, should have done=true
*/
private void assertValidProgress(List<Progress> progressList) {
assertFalse(progressList.isEmpty());
Progress prev = null;
int index = 0;
for (Progress progress : progressList) {
if (prev != null) {
if (prev.done || prev.bytes > progress.bytes) {
fail("Progress list out of order at index " + index
+ ": " + progressList);
}
}
prev = progress;
index += 1;
}
if (!prev.done) {
fail("Last progress item should have done=true: " + progressList);
}
}
private static class TestApiCallback<T> implements ApiCallback<T> {
private final CountDownLatch latch;
private final ConcurrentLinkedQueue<Progress> uploadProgress =
new ConcurrentLinkedQueue<Progress>();
private final ConcurrentLinkedQueue<Progress> downloadProgress =
new ConcurrentLinkedQueue<Progress>();
private boolean done;
private boolean success;
private ApiException exception;
private T result;
public TestApiCallback(CountDownLatch latch) {
this.latch = latch;
this.done = false;
}
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
exception = e;
this.done = true;
this.success = false;
latch.countDown();
}
@Override
public void onSuccess(T result, int statusCode, Map<String, List<String>> responseHeaders) {
this.result = result;
this.done = true;
this.success = true;
latch.countDown();
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
uploadProgress.add(new Progress(bytesWritten, contentLength, done));
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
downloadProgress.add(new Progress(bytesRead, contentLength, done));
}
public boolean isDone() {
return done;
}
public boolean isSuccess() {
return success;
}
public ApiException getException() {
return exception;
}
public T getResult() {
return result;
}
public List<Progress> getUploadProgress() {
return new ArrayList<Progress>(uploadProgress);
}
public List<Progress> getDownloadProgress() {
return new ArrayList<Progress>(downloadProgress);
}
}
private static class Progress {
public final long bytes;
public final long contentLength;
public final boolean done;
public Progress(long bytes, long contentLength, boolean done) {
this.bytes = bytes;
this.contentLength = contentLength;
this.done = done;
}
@Override
public String toString() {
return "<Progress " + bytes + " " + contentLength + " " + done + ">";
}
}
}

View File

@@ -0,0 +1,70 @@
/*
* OpenAPI Petstore
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.client.model;
import org.apache.commons.lang3.builder.EqualsBuilder;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
/**
* Model tests for ArrayOfArrayOfNumberOnly
*/
public class ArrayOfArrayOfNumberOnlyTest {
private final ArrayOfArrayOfNumberOnly model = new ArrayOfArrayOfNumberOnly();
/**
* Model tests for ArrayOfArrayOfNumberOnly
*/
@Test
public void test() {
// TODO: test ArrayOfArrayOfNumberOnly
}
/**
* Test the property 'arrayArrayNumber'
*/
@Test
public void arrayArrayNumberTest() {
BigDecimal b1 = new BigDecimal("12.3");
BigDecimal b2 = new BigDecimal("5.6");
List<BigDecimal> arrayArrayNumber = new ArrayList<BigDecimal>();
arrayArrayNumber.add(b1);
arrayArrayNumber.add(b2);
model.getArrayArrayNumber().add(arrayArrayNumber);
// create another instance for comparison
BigDecimal b3 = new BigDecimal("12.3");
BigDecimal b4 = new BigDecimal("5.6");
ArrayOfArrayOfNumberOnly model2 = new ArrayOfArrayOfNumberOnly();
List<BigDecimal> arrayArrayNumber2 = new ArrayList<BigDecimal>();
arrayArrayNumber2.add(b1);
arrayArrayNumber2.add(b2);
model2.getArrayArrayNumber().add(arrayArrayNumber2);
Assert.assertTrue(model2.equals(model));
}
}

View File

@@ -0,0 +1,103 @@
/*
* OpenAPI Petstore
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.client.model;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.openapitools.client.model.Category;
import org.openapitools.client.model.Tag;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
/**
* Model tests for Pet
*/
public class PetTest {
private final Pet model = new Pet();
/**
* Model tests for Pet
*/
@Test
public void testPet() {
// test Pet
model.setId(1029L);
model.setName("Dog");
Pet model2 = new Pet();
model2.setId(1029L);
model2.setName("Dog");
Assert.assertTrue(model.equals(model2));
}
/**
* Test the property 'id'
*/
@Test
public void idTest() {
// TODO: test id
}
/**
* Test the property 'category'
*/
@Test
public void categoryTest() {
// TODO: test category
}
/**
* Test the property 'name'
*/
@Test
public void nameTest() {
// TODO: test name
}
/**
* Test the property 'photoUrls'
*/
@Test
public void photoUrlsTest() {
// TODO: test photoUrls
}
/**
* Test the property 'tags'
*/
@Test
public void tagsTest() {
// TODO: test tags
}
/**
* Test the property 'status'
*/
@Test
public void statusTest() {
// TODO: test status
}
}

View File

@@ -34,7 +34,7 @@ public class ApiClientTest {
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00")));
// custom date format: without milli-seconds, custom time zone
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT);
format.setTimeZone(TimeZone.getTimeZone("GMT+10"));
apiClient.setDateFormat(format);
dateStr = "2015-11-07T13:49:09+10:00";

View File

@@ -0,0 +1,26 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>TypeScriptAngularBuildPestoreClientTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Fetch Default Petstore Client</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,59 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>TypeScriptAngularBuildES6PestoreClientTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Fetch ES6 Petstore Client</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>npm-install</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,73 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>TypeScriptAngularBuildWithNPMVersionPestoreClientTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Fetch Petstore Client (with npm)</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>npm-install</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm-build</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>run</argument>
<argument>build</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,59 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>TypeScriptFetchPestoreClientTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Fetch Petstore Test Client</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>npm-install</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -12,6 +12,7 @@
- Search the [open issue](https://github.com/openapitools/openapi-generator/issues) to ensure no one else has reported something similar and no one is actively working on similar proposed change.
- If no one has suggested something similar, open an ["issue"](https://github.com/openapitools/openapi-generator/issues) with your suggestion to gather feedback from the community.
- If you're adding a new option to a generator, please consider using the `-t` option with customized templates instead or start a discussion first by opening an issue as we want to avoid adding too many options to the generator.
- It's recommended to **create a new git branch** for the change so that the merge commit message looks nicer in the commit history.
## How to contribute
@@ -82,10 +83,11 @@ For [Vendor Extensions](https://github.com/OAI/OpenAPI-Specification/blob/master
To add test cases (optional) covering the change in the code generator, please refer to [modules/openapi-generator/src/test/java/org/openapitools/codegen](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/test/java/org/openapitools/codegen)
To test the templates, please perform the following:
- Update the Petstore sample by running the shell script under `bin` folder. For example, run `./bin/ruby-petstore.sh` to update the Ruby PetStore API client under [`samples/client/petstore/ruby`](https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/ruby) For Windows, the batch files can be found under `bin\windows` folder. (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- Update the Petstore sample by running the shell script under `bin` folder. For example, run `./bin/ruby-client-petstore.sh` to update the Ruby PetStore API client under [`samples/client/petstore/ruby`](https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/ruby) For Windows, the batch files can be found under `bin\windows` folder. (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- Run the tests in the sample folder, e.g. in `samples/client/petstore/ruby`, run `mvn integration-test -rf :RubyPetstoreClientTests`. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
- Finally, git commit the updated samples files: `git commit -a`
(`git add -A` if added files with new test cases)
- For new test cases, please add to the [Fake Petstore spec](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml)
To start the CI tests, you can run `mvn verify -Psamples` (assuming you've all the required tools installed to run tests for different languages) or you can leverage http://travis-ci.org to run the CI tests by adding your own openapi-generator repository.

View File

@@ -14,8 +14,9 @@ COPY ./LICENSE ${GEN_DIR}
COPY ./google_checkstyle.xml ${GEN_DIR}
# Modules are copied individually here to allow for caching of docker layers between major.minor versions
# NOTE: openapi-generator-online is not included here
COPY ./modules/openapi-generator-gradle-plugin ${GEN_DIR}/modules/openapi-generator-gradle-plugin
COPY ./modules/openapi-generator-maven-plugin ${GEN_DIR}/modules/openapi-generator-maven-plugin
COPY ./modules/openapi-generator-online ${GEN_DIR}/modules/openapi-generator-online
COPY ./modules/openapi-generator-cli ${GEN_DIR}/modules/openapi-generator-cli
COPY ./modules/openapi-generator ${GEN_DIR}/modules/openapi-generator
COPY ./pom.xml ${GEN_DIR}

210
LICENSE
View File

@@ -1,12 +1,202 @@
Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
Copyright 2018 SmartBear Software
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
Copyright 2018 SmartBear Software
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

337
README.md
View File

@@ -2,25 +2,18 @@
<div align="center">
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`3.0.3`): [![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/master.svg?label=Integration%20Test)](https://travis-ci.org/OpenAPITools/openapi-generator)
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`4.0.0`): [![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/master.svg?label=Integration%20Test)](https://travis-ci.org/OpenAPITools/openapi-generator)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Run Status](https://api.shippable.com/projects/5af6bf74e790f4070084a115/badge?branch=master)](https://app.shippable.com/github/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator-wh2wu)
[`3.1.x`](https://github.com/OpenAPITools/openapi-generator/tree/3.1.x) branch: [![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/3.1.x.svg?label=Integration%20Test)](https://travis-ci.org/OpenAPITools/openapi-generator)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator/tree/3.1.x.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Run Status](https://api.shippable.com/projects/5af6bf74e790f4070084a115/badge?branch=3.1.x)](https://app.shippable.com/github/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=3.1.x&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator-wh2wu)
[`4.0.x`](https://github.com/OpenAPITools/openapi-generator/tree/4.0.x) branch: [![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/4.0.x.svg?label=Integration%20Test)](https://travis-ci.org/OpenAPITools/openapi-generator)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator/tree/4.0.x.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Run Status](https://api.shippable.com/projects/5af6bf74e790f4070084a115/badge?branch=4.0.x)](https://app.shippable.com/github/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=4.0.x&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator-wh2wu)
</div>
<div align="center">
[![Join the chat at https://gitter.im/OpenAPITools/openapi-generator](https://badges.gitter.im/OpenAPITools/openapi-generator.svg)](https://gitter.im/OpenAPITools/openapi-generator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Stable releaases in the Maven store](https://img.shields.io/maven-metadata/v/http/central.maven.org/maven2/org/openapitools/openapi-generator/maven-metadata.xml.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22)
[![Follow OpenAPI Generator Twitter account to get the latest update](https://img.shields.io/twitter/follow/oas_generator.svg?style=social&label=Follow)](https://twitter.com/oas_generator)
</div>
@@ -32,13 +25,12 @@
:notebook_with_decorative_cover: For more information, please refer to the [Wiki page](https://github.com/openapitools/openapi-generator/wiki) and [FAQ](https://github.com/openapitools/openapi-generator/wiki/FAQ) :notebook_with_decorative_cover:
:notebook_with_decorative_cover: The eBook [A Beginner's Guide to Code Generation for REST APIs](https://gumroad.com/l/swagger_codegen_beginner) is a good starting point for begineers :notebook_with_decorative_cover:
:notebook_with_decorative_cover: The eBook [A Beginner's Guide to Code Generation for REST APIs](https://gumroad.com/l/swagger_codegen_beginner) is a good starting point for beginners :notebook_with_decorative_cover:
:warning: If the OpenAPI spec is obtained from an untrusted source, please make sure you've reviewed the spec before using OpenAPI Generator to generate the API client, server stub or documentation as [code injection](https://en.wikipedia.org/wiki/Code_injection) may occur :warning:
:warning: If the OpenAPI spec, templates or any input (e.g. options, environment variables) is obtained from an untrusted source or environment, please make sure you've reviewed these inputs before using OpenAPI Generator to generate the API client, server stub or documentation to avoid potential security issues (e.g. [code injection](https://en.wikipedia.org/wiki/Code_injection)) :warning:
:bangbang: Both "OpenAPI Tools" (https://OpenAPITools.org - the parent organization of OpenAPI Generator) and "OpenAPI Generator" are not affiliated with OpenAPI Initiative (OAI) :bangbang:
</div>
## Overview
@@ -46,11 +38,11 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
| | Languages/Frameworks |
|-|-|
**API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C#** (.net 2.0, 3.5 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (rust, rust-server), **Scala** (akka, http4s, scalaz, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (AngularJS, Angular (2.x - 6.x), Aurelia, Fetch, Inversify, jQuery, Node)
**Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go**, **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples)), **Kotlin**, **PHP** (Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** ([Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), Scalatra)
**API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart (1.x, 2.x)**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (rust, rust-server), **Scala** (akka, http4s, scalaz, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (AngularJS, Angular (2.x - 7.x), Aurelia, Axios, Fetch, Inversify, jQuery, Node, Rxjs)
**Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go** (net/http, Gin), **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples)), **Kotlin** (Spring Boot, Ktor), **PHP** (Laravel, Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** ([Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), Scalatra)
**API documentation generators** | **HTML**, **Confluence Wiki**
**Configuration files** | [**Apache2**](https://httpd.apache.org/)
**Others** | **JMeter**
**Others** | **GraphQL**, **JMeter**, **MySQL Schema**
## Table of contents
@@ -64,6 +56,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
- [1.4 - Build Projects](#14---build-projects)
- [1.5 - Homebrew](#15---homebrew)
- [1.6 - Docker](#16---docker)
- [1.7 - NPM](#17---npm)
- [2 - Getting Started](#2---getting-started)
- [3 - Usage](#3---usage)
- [3.1 - Customization](#31---customization)
@@ -84,18 +77,18 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
The OpenAPI Specification has undergone 3 revisions since initial creation in 2010. The openapi-generator project has the following compatibilities with the OpenAPI Specification:
OpenAPI Generator Version | Release Date | OpenAPI Spec compatibility | Notes
---------------------------- | ------------ | -------------------------- | -----
4.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.0.0-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0, 3.0 | Major release with breaking changes (no fallback)
3.1.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/3.1.0-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0, 3.0 | Minor release with breaking changes (with fallbacks)
3.0.3 (current master, upcoming release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/3.0.3/)| TBD | 1.0, 1.1, 1.2,
[3.0.2](https://github.com/OpenAPITools/openapi-generator/releases/tag/v3.0.2) | 18.06.2018 | 1.0, 1.1, 1.2, 2.0, 3.0 | Bugfix release
[3.0.1](https://github.com/OpenAPITools/openapi-generator/releases/tag/v3.0.1) | 11.06.2018 | 1.0, 1.1, 1.2, 2.0, 3.0 | Bugfix release
[3.0.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v3.0.0) | 01.06.2018 | 1.0, 1.1, 1.2, 2.0, 3.0 | First release with breaking changes
OpenAPI Generator Version | Release Date | Notes
---------------------------- | ------------ | -----
4.0.0 (upcoming release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.0.0-SNAPSHOT/)| 20.12.2018 | Major release with breaking changes (with or without fallback)
[3.3.4](https://github.com/OpenAPITools/openapi-generator/releases/tag/v3.3.4) (latest stable release) | 30.11.2018 | Bugfix release
### [1.2 - Artifacts on Maven Central](#table-of-contents)
OpenAPI Spec compatibility: 1.0, 1.1, 1.2, 2.0, 3.0
You can find our released artefacts on maven central:
For old releases, please refer to the [**Release**](https://github.com/OpenAPITools/openapi-generator/releases) page.
## [1.2 - Artifacts on Maven Central](#table-of-contents)
You can find our released artifacts on maven central:
**Core:**
```xml
@@ -126,7 +119,7 @@ See the different versions of the [openapi-generator-cli](https://mvnrepository.
</dependency>
```
* See the different versions of the [openapi-generator-maven-plugin](https://mvnrepository.com/artifact/org.openapitools/openapi-generator-maven-plugin) artifact available on maven central.
* [Readme](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator-maven-plugin/README.adoc)
* [Readme](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator-maven-plugin/README.md)
**Gradle plugin:**
```xml
@@ -143,16 +136,16 @@ See the different versions of the [openapi-generator-cli](https://mvnrepository.
If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 8 runtime at a minimum):
JAR location: `http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.0.0/openapi-generator-cli-3.0.0.jar`
JAR location: `http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.3.4/openapi-generator-cli-3.3.4.jar`
For **Mac/Linux** users:
```sh
wget http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.0.2/openapi-generator-cli-3.0.2.jar -O openapi-generator-cli.jar
wget http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.3.4/openapi-generator-cli-3.3.4.jar -O openapi-generator-cli.jar
```
For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.
```
Invoke-WebRequest -OutFile openapi-generator-cli.jar http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.0.2/openapi-generator-cli-3.0.2.jar
Invoke-WebRequest -OutFile openapi-generator-cli.jar http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.3.4/openapi-generator-cli-3.3.4.jar
```
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
@@ -163,13 +156,56 @@ export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export PATH=${JAVA_HOME}/bin:$PATH
```
### Launcher Script
One downside to manual jar downloads is that you don't keep up-to-date with the latest released version. We have a Bash launcher script at [bin/utils/openapi-generator.cli.sh](./bin/utils/openapi-generator-cli.sh) which resolves this issue.
To install the launcher script, copy the contents of the script to a location on your path and make the script executable.
An example of setting this up (NOTE: Always evaluate scripts curled from external systems before executing them).
```
mkdir -p ~/bin/openapitools
curl https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/bin/utils/openapi-generator-cli.sh > ~/bin/openapitools/openapi-generator-cli
chmod u+x ~/bin/openapitools/openapi-generator-cli
export PATH=$PATH:~/bin/openapitools/
```
Now, `openapi-generator-cli` is "installed". On invocation, it will query the GitHub repository for the most recently released version. If this matches the last downloaded jar,
it will execute as normal. If a newer version is found, the script will download the latest release and execute it.
If you need to invoke an older version of the generator, you can define the variable `OPENAPI_GENERATOR_VERSION` either ad hoc or globally. You can export this variable if you'd like to persist a specific release version.
Examples:
```
# Execute latest released openapi-generator-cli
openapi-generator-cli version
# Execute version 3.1.0 for the current invocation, regardless of the latest released version
OPENAPI_GENERATOR_VERSION=3.1.0 openapi-generator-cli version
# Execute version 3.1.0-SNAPSHOT for the current invocation
OPENAPI_GENERATOR_VERSION=3.1.0-SNAPSHOT openapi-generator-cli version
# Execute version 3.0.2 for every invocation in the current shell session
export OPENAPI_GENERATOR_VERSION=3.0.2
openapi-generator-cli version # is 3.0.2
openapi-generator-cli version # is also 3.0.2
# To "install" a specific version, set the variable in .bashrc/.bash_profile
echo "export OPENAPI_GENERATOR_VERSION=3.0.2" >> ~/.bashrc
source ~/.bashrc
openapi-generator-cli version # is always 3.0.2, unless any of the above overrides are done ad hoc
```
### [1.4 - Build Projects](#table-of-contents)
To build from source, you need the following installed and available in your `$PATH:`
* [Java 8](http://java.oracle.com)
* [Apache maven 3.3.3 or greater](http://maven.apache.org/)
* [Apache maven 3.3.4 or greater](http://maven.apache.org/)
After cloning the project, you can build it from source with this command:
```sh
@@ -190,7 +226,7 @@ Here is an example usage to generate a Ruby client:
openapi-generator generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g ruby -o /tmp/test/
```
To reinstall with the latest master, run `brew reinstall --HEAD openapi-generator`
To reinstall with the latest master, run `brew uninstall openapi-generator && brew install --HEAD openapi-generator`
### [1.6 - Docker](#table-of-contents)
@@ -238,13 +274,13 @@ GEN_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress}}' $CID)
-d '{"openAPIUrl": "https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml"}' \
'http://localhost:8888/api/gen/clients/ruby'
{"code":"c2d483d3-3672-40e9-91df-b9ffd18d22b8","link":"http://localhost:8888/api/gen/download/c2d483d3-3672-40e9-91df-b9ffd18d22b8"}
{"code":"c2d483.3.4672-40e9-91df-b9ffd18d22b8","link":"http://localhost:8888/api/gen/download/c2d483.3.4672-40e9-91df-b9ffd18d22b8"}
# Download the generated zip file
> wget http://localhost:8888/api/gen/download/c2d483d3-3672-40e9-91df-b9ffd18d22b8
> wget http://localhost:8888/api/gen/download/c2d483.3.4672-40e9-91df-b9ffd18d22b8
# Unzip the file
> unzip c2d483d3-3672-40e9-91df-b9ffd18d22b8
> unzip c2d483.3.4672-40e9-91df-b9ffd18d22b8
# Shutdown the openapi generator image
> docker stop $CID && docker rm $CID
@@ -275,6 +311,20 @@ Once built, `run-in-docker.sh` will act as an executable for openapi-generator-c
-g go -o /gen/out/go-petstore -DpackageName=petstore # generates go client, outputs locally to ./out/go-petstore
```
##### Troubleshooting
If an error like this occurs, just execute the **mvn clean install -U** command:
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project openapi-generator: A type incompatibility occurred while executing org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test: java.lang.ExceptionInInitializerError cannot be cast to java.io.IOException
```sh
./run-in-docker.sh mvn clean install -U
```
> Failed to execute goal org.fortasoft:gradle-maven-plugin:1.0.8:invoke (default) on project openapi-generator-gradle-plugin-mvn-wrapper: org.gradle.tooling.BuildException: Could not execute build using Gradle distribution 'https://services.gradle.org/distributions/gradle-4.7-bin.zip'
Right now: no solution for this one :|
#### Run Docker in Vagrant
Prerequisite: install [Vagrant](https://www.vagrantup.com/downloads.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads).
```sh
@@ -286,6 +336,30 @@ cd /vagrant
./run-in-docker.sh mvn package
```
### [1.7 - NPM](#table-of-contents)
There is also an [NPM package wrapper](https://www.npmjs.com/package/@openapitools/openapi-generator-cli) available for different platforms (e.g. Linux, Mac, Windows). (JVM is still required)
Please see the [project's README](https://github.com/openapitools/openapi-generator-cli) there for more information.
Install it globally to get the CLI available on the command line:
```sh
npm install @openapitools/openapi-generator-cli -g
openapi-generator version
```
Or install a particualar OpenAPI Generator version (e.g. v3.3.4):
```sh
npm install @openapitools/openapi-generator-cli@cli-3.3.4 -g
```
Or install it as dev-dependency:
```sh
npm install @openapitools/openapi-generator-cli -D
```
## [2 - Getting Started](#table-of-contents)
To generate a PHP client for [petstore.yaml](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml), please run the following
@@ -300,7 +374,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/2_0/petstore.yaml -g php -o c:\temp\php_api_client`)
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.0.0/openapi-generator-cli-3.0.0.jar)
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.3.4/openapi-generator-cli-3.3.4.jar)
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
@@ -312,21 +386,23 @@ To get a list of PHP specified options (which can be passed to the generator wit
You can build a client against the [Petstore API](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml) as follows:
```sh
./bin/java-petstore.sh
./bin/java-petstore-okhttp-gson.sh
```
(On Windows, run `.\bin\windows\java-petstore.bat` instead)
(On Windows, run `.\bin\windows\java-petstore-okhttp-gson.bat` instead)
This will run the generator with this command:
This script uses the default library, which is `okhttp-gson`. It will run the generator with this command:
```sh
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
-g java \
-o samples/client/petstore/java
-o samples/client/petstore/java/okhttp-gson
```
with a number of options. You can get the options with the `help generate` command (below only shows partial results):
with a number of options. [The java options are documented here.](docs/generators/java.md)
You can also get the options with the `help generate` command (below only shows partial results):
```
NAME
@@ -349,15 +425,15 @@ SYNOPSIS
[--import-mappings <import mappings>...]
[--instantiation-types <instantiation types>...]
[--invoker-package <invoker package>]
[(-l <language> | --lang <language>)]
[--language-specific-primitives <language specific primitives>...]
[--library <library>] [--model-name-prefix <model name prefix>]
[--library <library>] [--log-to-stderr]
[--model-name-prefix <model name prefix>]
[--model-name-suffix <model name suffix>]
[--model-package <model package>]
[(-o <output directory> | --output <output directory>)]
[--release-note <release note>] [--remove-operation-id-prefix]
[--reserved-words-mappings <reserved word mappings>...]
[(-s | --skip-overwrite)]
[(-s | --skip-overwrite)] [--skip-validate-spec]
[(-t <template directory> | --template-dir <template directory>)]
[--type-mappings <type mappings>...] [(-v | --verbose)]
@@ -377,16 +453,19 @@ OPTIONS
You can then compile and run the client, as well as unit tests against it:
```sh
cd samples/client/petstore/java
cd samples/client/petstore/java/okhttp-gson
mvn package
```
Other languages have petstore samples, too:
```sh
./bin/android-petstore.sh
./bin/java-petstore.sh
./bin/android-petstore-all.sh
./bin/java-petstore-all.sh
./bin/objc-petstore.sh
```
... and others. [Here is a list of all scripts.](https://github.com/OpenAPITools/openapi-generator/wiki/Samples-folder#scripts)
### [3.1 - Customization](#table-of-contents)
Please refer to [customization.md](docs/customization.md) on how to customize the output (e.g. package name, version)
@@ -397,7 +476,16 @@ Please refer to [integration.md](docs/integration.md) on how to integrate OpenAP
### [3.3 - Online OpenAPI generator](#table-of-contents)
Please refer to [online-openapi-generator.md](docs/online-openapi-generator.md) on how to run and use the `openapi-generator-online` - a web service for `openapi-generator`.
Here are the public online services:
- latest stable version: http://api.openapi-generator.tech
- latest master: http://api-latest-master.openapi-generator.tech (updated with latest master every hour)
The server is sponsored by [Linode](https://www.linode.com/) [![Linode Logo](https://www.linode.com/media/images/logos/standard/light/linode-logo_standard_light_small.png)](https://www.linode.com/)
(These services are beta and do not have any guarantee on service level)
Please refer to [online.md](docs/online.md) on how to run and use the `openapi-generator-online` - a web service for `openapi-generator`.
### [3.4 - License information on Generated Code](#table-of-contents)
@@ -411,22 +499,58 @@ When code is generated from this project, it shall be considered **AS IS** and o
## [4 - Companies/Projects using OpenAPI Generator](#table-of-contents)
Here are some companies/projects (alphabetical order) using OpenAPI Generator in production. To add your company/project to the list, please visit [README.md](README.md) and click on the icon to edit the page.
- [Adaptant Solutions AG](https://www.adaptant.io/)
- [Angular.Schule](https://angular.schule/)
- [ASKUL](https://www.askul.co.jp)
- [b<>com](https://b-com.com/en)
- [BIMData.io](https://bimdata.io)
- [Bithost GmbH](https://www.bithost.ch)
- [Boxever](https://www.boxever.com/)
- [codecentric AG](https://www.codecentric.de/)
- [Cupix](https://www.cupix.com/)
- [FormAPI](https://formapi.io/)
- [GenFlow](https://github.com/RepreZen/GenFlow)
- [GMO Pepabo](https://pepabo.com/en/)
- [JustStar](https://www.juststarinfo.com)
- [Klarna](https://www.klarna.com/)
- [Metaswitch](https://www.metaswitch.com/)
- [Myworkout](https://myworkout.com)
- [Prometheus/Alertmanager](https://github.com/prometheus/alertmanager)
- [Raiffeisen Schweiz Genossenschaft](https://www.raiffeisen.ch)
- [RepreZen API Studio](https://www.reprezen.com/swagger-openapi-code-generation-api-first-microservices-enterprise-development)
- [REST United](https://restunited.com)
- [Stingray](http://www.stingray.com)
- [Suva](https://www.suva.ch/)
- [Telstra](https://dev.telstra.com)
- [TUI InfoTec GmbH](http://www.tui-infotec.com/)
- [unblu inc.](https://www.unblu.com/)
- [Veamly](https://www.veamly.com/)
- [Xero](https://www.xero.com/)
- [Zalando](https://www.zalando.com)
## [5 - Presentations/Videos/Tutorials/Books](#table-of-contents)
- 2018/05/12 - [OpenAPI Generator - community drivenで成長するコードジェネレータ](https://ackintosh.github.io/blog/2018/05/12/openapi-generator/) by [中野暁人](https://github.com/ackintosh)
- 2018/05/15 - [Starting a new open-source project](http://jmini.github.io/blog/2018/2018-05-15_new-open-source-project.html) by [Jeremie Bresson](https://github.com/jmini)
- 2018/05/15 - [REST API仕様からAPIクライアントやスタブサーバを自動生成する「OpenAPI Generator」オープンソースで公開。Swagger Codegenからのフォーク](https://www.publickey1.jp/blog/18/rest_apiapiopenapi_generatorswagger_generator.html) by [Publickey](https://www.publickey1.jp)
- 2018/04/12 - [Generate Angular API clients with Swagger](https://angular.schule/blog/2018-04-swagger-codegen) by [JohannesHoppe](https://github.com/JohannesHoppe)
- 2018/06/08 - [Swagger Codegen is now OpenAPI Generator](https://angular.schule/blog/2018-06-swagger-codegen-is-now-openapi-generator) by [JohannesHoppe](https://github.com/JohannesHoppe)
- 2018/06/21 - [Connect your JHipster apps to the world of APIs with OpenAPI and gRPC](https://fr.slideshare.net/chbornet/jhipster-conf-2018-connect-your-jhipster-apps-to-the-world-of-apis-with-openapi-and-grpc) by [Christophe Bornet](https://github.com/cbornet) at [JHipster Conf 2018](https://jhipster-conf.github.io/)
- 2018/06/27 - [Lessons Learned from Leading an Open-Source Project Supporting 30+ Programming Languages](https://speakerdeck.com/wing328/lessons-learned-from-leading-an-open-source-project-supporting-30-plus-programming-languages) - [William Cheng](https://github.com/wing328) at [LinuxCon + ContainerCon + CloudOpen China 2018](http://bit.ly/2waDKKX)
- 2018/07/19 - [OpenAPI Generator Contribution Quickstart - RingCentral Go SDK](https://medium.com/ringcentral-developers/openapi-generator-for-go-contribution-quickstart-8cc72bf37b53) by [John Wang](https://github.com/grokify)
- 2018/08/22 - [OpenAPI Generatorのプロジェクト構成などのメモ](https://yinm.info/20180822/) by [Yusuke Iinuma](https://github.com/yinm)
- 2018/09/12 - [RepreZen and OpenAPI 3.0: Now is the Time](https://www.reprezen.com/blog/reprezen-openapi-3.0-upgrade-now-is-the-time) by [Miles Daffin](https://www.reprezen.com/blog/author/miles-daffin)
- 2018/10/31 - [A node package wrapper for openapi-generator](https://github.com/HarmoWatch/openapi-generator-cli)
- 2018/11/03 - [OpenAPI Generator + golang + Flutter でアプリ開発](http://ryuichi111std.hatenablog.com/entry/2018/11/03/214005) by [Ryuichi Daigo](https://github.com/ryuichi111)
- 2018/11/15 - [基于openapi3.0的yaml文件生成java代码的一次实践](https://blog.csdn.net/yzy199391/article/details/84023982) by [焱魔王](https://me.csdn.net/yzy199391)
- 2018/11/19 - [OpenAPIs are everywhere](https://youtu.be/-lDot4Yn7Dg) by [Jeremie Bresson (Unblu)](https://github.com/jmini) at [EclipseCon Europe 2018](https://www.eclipsecon.org/europe2018)
- 2018/12/09 - [openapi-generator をカスタマイズする方法](https://qiita.com/watiko/items/0961287c02eac9211572) by [@watiko](https://qiita.com/watiko)
- 2019/01/03 - [Calling a Swagger service from Apex using openapi-generator](https://lekkimworld.com/2019/01/03/calling-a-swagger-service-from-apex-using-openapi-generator/) by [Mikkel Flindt Heisterberg](https://lekkimworld.com)
- 2019/01/13 - [OpenAPI GeneratorでRESTful APIの定義書から色々自動生成する](https://ky-yk-d.hatenablog.com/entry/2019/01/13/234108) by [@ky_yk_d](https://twitter.com/ky_yk_d)
- 2019/01/30 - [Rapid Application Development With API First Approach Using Open-API Generator](https://dzone.com/articles/rapid-api-development-using-open-api-generator) by [Milan Sonkar](https://dzone.com/users/828329/milan_sonkar.html)
- 2019/02/02 - [平静を保ち、コードを生成せよ 〜 OpenAPI Generator誕生の背景と軌跡 〜](https://speakerdeck.com/akihito_nakano/gunmaweb34) by [中野暁人](https://github.com/ackintosh) at [Gunma.web #34 スキーマ駆動開発](https://gunmaweb.connpass.com/event/113974/)
- 2019/02/20 - [An adventure in OpenAPI V3 code generation](https://mux.com/blog/an-adventure-in-openapi-v3-api-code-generation/) by [Phil Cluff](https://mux.com/blog/author/philc/)
- 2019/02/26 - [Building API Services: A Beginners Guide](https://medium.com/google-cloud/building-api-services-a-beginners-guide-7274ae4c547f) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platofrm Blog](https://medium.com/google-cloud)
- 2019/02/26 - [Building APIs with OpenAPI: Continued](https://medium.com/@ratrosy/building-apis-with-openapi-continued-5d0faaed32eb) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platofrm Blog](https://medium.com/google-cloud)
## [6 - About Us](#table-of-contents)
@@ -435,14 +559,14 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
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.
#### Core Team Members
* [@wing328](https://github.com/wing328) (2015/07)
* [@jimschubert](https://github.com/jimschubert) (2016/05)
* [@wing328](https://github.com/wing328) (2015/07) [:heart:](https://www.patreon.com/wing328)
* [@jimschubert](https://github.com/jimschubert) (2016/05) [:heart:](https://www.patreon.com/jimschubert)
* [@cbornet](https://github.com/cbornet) (2016/05)
* [@jaz-ah](https://github.com/jaz-ah) (2016/05)
* [@ackintosh](https://github.com/ackintosh) (2018/02)
* [@JFCote](https://github.com/JFCote) (2018/03)
* [@ackintosh](https://github.com/ackintosh) (2018/02) [:heart:](https://www.patreon.com/ackintosh/overview)
* [@jmini](https://github.com/jmini) (2018/04)
:heart: = Link to support the contributor directly
#### Template Creator
Here is a list of template creators:
* API Clients:
@@ -450,19 +574,23 @@ Here is a list of template creators:
* Akka-Scala: @cchafer
* Apex: @asnelling
* Bash: @bkryza
* C: @PowerOfCreation @zhemant [:heart:](https://www.patreon.com/zhemant)
* C++ REST: @Danielku15
* C# (.NET 2.0): @who
* C# (.NET Standard 1.3 ): @Gronsak
* C# (.NET 4.5 refactored): @jimschubert
* C# (.NET 4.5 refactored): @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Clojure: @xhh
* Dart: @yissachar
* Dart (refactored in 2.4.0): @joernahrens
* Dart (refactor): @joernahrens
* Dart 2: @swipesight
* Dart (Jaguar): @jaumard
* Elixir: @niku
* Elm: @trenneman
* Elm: @eriktim
* Eiffel: @jvelilla
* Erlang: @tsloughter
* Erlang (PropEr): @jfacorro @robertoaloi
* Groovy: @victorgit
* Go: @wing328
* Go: @wing328 [:heart:](https://www.patreon.com/wing328)
* Go (rewritten in 2.3.0): @antihax
* Haskell (http-client): @jonschoning
* Java (Feign): @davidkiss
@@ -471,6 +599,7 @@ Here is a list of template creators:
* Java (Jersey2): @xhh
* Java (okhttp-gson): @xhh
* Java (RestTemplate): @nbruno
* Java (Spring 5 WebClient): @daonomic
* Java (RESTEasy): @gayathrigs
* Java (Vertx): @lopesmcc
* Java (Google APIs Client Library): @charlescapps
@@ -479,9 +608,9 @@ Here is a list of template creators:
* Javascript (Closure-annotated Angular) @achew22
* Javascript (Flow types) @jaypea
* JMeter: @davidkiss
* Kotlin: @jimschubert
* Kotlin: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Lua: @daurnimator
* Perl: @wing328
* Perl: @wing328 [:heart:](https://www.patreon.com/wing328)
* PHP (Guzzle): @baartosz
* PowerShell: @beatcracker
* R: @ramnov
@@ -491,19 +620,26 @@ Here is a list of template creators:
* Swift: @tkqubo
* Swift 3: @hexelon
* Swift 4: @ehyche
* TypeScript (Node): @mhardorf
* TypeScript (Angular1): @mhardorf
* TypeScript (Fetch): @leonyu
* TypeScript (Angular1): @mhardorf
* TypeScript (Angular2): @roni-frantchi
* TypeScript (Angular6): @akehir
* TypeScript (Angular7): @topce
* TypeScript (Axios): @nicokoenig
* TypeScript (Fetch): @leonyu
* TypeScript (jQuery): @bherila
* TypeScript (Node): @mhardorf
* TypeScript (Rxjs): @denyo
* Server Stubs
* Ada: @stcarrez
* C# ASP.NET5: @jimschubert
* C# ASP.NET5: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* C# NancyFX: @mstefaniuk
* C++ (Qt5 QHttpEngine): @etherealjoy
* C++ Pistache: @sebymiano
* C++ Restbed: @stkrwork
* Erlang Server: @galaxie
* Go Server: @guohuang
* Go (Gin) Server: @kemokemo
* GraphQL Express Server: @renepardon
* Haskell Servant: @algas
* Java MSF4J: @sanjeewa-malalgoda
* Java Spring Boot: @diyfr
@@ -514,20 +650,28 @@ Here is a list of template creators:
* JAX-RS CXF: @hiveship
* JAX-RS CXF (CDI): @nickcmaynard
* JAX-RS RestEasy (JBoss EAP): @jfiala
* Kotlin: @jimschubert
* Kotlin: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Kotlin (Spring Boot): @dr4ke616
* PHP Laravel: @renepardon
* PHP Lumen: @abcsun
* PHP Slim: @jfastnacht
* PHP Symfony: @ksm2
* PHP Zend Expressive (with Path Handler): @Articus
* Python AIOHTTP: @Jyhess
* Ruby on Rails 5: @zlx
* Rust (rust-server): @metaswitch
* Scala Finch: @jimschubert
* Scala Finch: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Scala Lagom: @gmkumar2005
* Documentation
* HTML Doc 2: @jhitchcock
* Confluence Wiki: @jhitchcock
* Configuration
* Apache2: @stkrwork
* Schema
* GraphQL: @wing328 [:heart:](https://www.patreon.com/wing328)
* MySQL: @ybelenko
:heart: = Link to support the contributor directly
#### How to join the core team
@@ -558,38 +702,43 @@ If you want to join the committee, please kindly apply by sending an email to te
#### Members of Technical Committee
| Languages | Member (join date) |
| Languages | Member (join date) |
|:-------------|:-------------|
| ActionScript | |
| Ada | @stcarrez (2018/02) @micheleISEP (2018/02) |
| Android | @jaz-ah (2017/09) |
| Apex | |
| Bash | @frol (2017/07) @bkryza (2017/08) @kenjones-cisco (2017/09) |
| C++ | @ravinikam (2017/07) @stkrwork (2017/07) @fvarose (2017/11) @etherealjoy (2018/02) @martindelille (2018/03) |
| C# | @mandrean (2017/08) @jimschubert (2017/09) |
| Ada | @stcarrez (2018/02) @micheleISEP (2018/02) |
| Android | @jaz-ah (2017/09) |
| Apex | |
| Bash | @frol (2017/07) @bkryza (2017/08) @kenjones-cisco (2017/09) |
| C | @zhemant (2018/11) |
| C++ | @ravinikam (2017/07) @stkrwork (2017/07) @fvarose (2017/11) @etherealjoy (2018/02) @martindelille (2018/03) |
| C# | @mandrean (2017/08), @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert) |
| Clojure | |
| Dart | @ircecho (2017/07) |
| Dart | @ircecho (2017/07) @swipesight (2018/09) @jaumard (2018/09) |
| Eiffel | @jvelilla (2017/09) |
| Elixir | |
| Elm | |
| Erlang | @tsloughter (2017/11) |
| Elixir | @mrmstn (2018/12) |
| Elm | @eriktim (2018/09) |
| Erlang | @tsloughter (2017/11) @jfacorro (2018/10) @robertoaloi (2018/10) |
| Go | @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09 |
| GraphQL | @renepardon (2018/12) |
| Groovy | |
| Go | @antihax (2017/11) @bvwells (2017/12) |
| Haskell | |
| Java | @bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) |
| Kotlin | @jimschubert (2017/09) |
| Lua | @daurnimator (2017/08) |
| Haskell | |
| Java | @bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) |
| Kotlin | @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert), @dr4ke616 (2018/08) |
| Lua | @daurnimator (2017/08) |
| NodeJS/Javascript | @CodeNinjai (2017/07) @frol (2017/07) @cliffano (2017/07) |
| ObjC | |
| Perl | @wing328 (2017/07) |
| PHP | @jebentier (2017/07) @dkarlovi (2017/07) @mandrean (2017/08) @jfastnacht (2017/09) @ackintosh (2017/09) |
| Python | @taxpon (2017/07) @frol (2017/07) @mbohlool (2017/07) @cbornet (2017/09) @kenjones-cisco (2017/11)|
| R | |
| Ruby | @cliffano (2017/07) @zlx (2017/09) |
| Perl | @wing328 (2017/07) [:heart:](https://www.patreon.com/wing328) |
| PHP | @jebentier (2017/07), @dkarlovi (2017/07), @mandrean (2017/08), @jfastnacht (2017/09), @ackintosh (2017/09) [:heart:](https://www.patreon.com/ackintosh/overview), @ybelenko (2018/07), @renepardon (2018/12) |
| PowerShell | |
| Python | @taxpon (2017/07) @frol (2017/07) @mbohlool (2017/07) @cbornet (2017/09) @kenjones-cisco (2017/11) @tomplus (2018/10) @Jyhess (2019/01) |
| R | |
| Ruby | @cliffano (2017/07) @zlx (2017/09) @autopp (2019/02) |
| Rust | @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12) |
| Scala | @clasnake (2017/07) @jimschubert (2017/09) @shijinkui (2018/01) @ramzimaalej (2018/03) |
| Scala | @clasnake (2017/07), @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert), @shijinkui (2018/01), @ramzimaalej (2018/03) |
| Swift | @jgavris (2017/07) @ehyche (2017/08) @Edubits (2017/09) @jaz-ah (2017/09) @d-date (2018/03) |
| TypeScript | @TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) |
| TypeScript | @TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @nicokoenig (2018/09) @topce (2018/10) |
:heart: = Link to support the contributor directly
### [6.3 - History of OpenAPI Generator](#table-of-contents)
@@ -608,7 +757,7 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
- [Daiki Matsudate](https://github.com/d-date)
- [Daniel](https://github.com/Danielku15)
- [Emiliano Bonassi](https://github.com/emilianobonassi)
- [Erik Timmers](https://github.com/trenneman)
- [Erik Timmers](https://github.com/eriktim)
- [Esteban Marin](https://github.com/macjohnny)
- [Gustavo Paz](https://github.com/gustavoapaz)
- [Javier Velilla](https://github.com/jvelilla)
@@ -638,7 +787,7 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
- [Vlad Frolov](https://github.com/frol)
- [Vladimir Pouzanov](https://github.com/farcaller)
- [William Cheng](https://github.com/wing328)
- [Xin Meng](https://github.com/xmeng1)
- [Xin Meng](https://github.com/xmeng1) [:heart:](https://www.patreon.com/user/overview?u=16435385)
- [Xu Hui Hui](https://github.com/xhh)
- [antihax](https://github.com/antihax)
- [beatcracker](https://github.com/beatcracker)
@@ -647,6 +796,7 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
- [jfiala](https://github.com/jfiala)
- [lukoyanov](https://github.com/lukoyanov)
:heart: = Link to support the contributor directly
## [7 - License](#table-of-contents)
-------
@@ -665,6 +815,3 @@ See the License for the specific language governing permissions and
limitations under the License.
---

14
Vagrantfile vendored
View File

@@ -6,7 +6,7 @@ VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.box = "ubuntu/bionic64"
config.vm.provider "virtualbox" do |v|
v.name = "openapi-generator"
@@ -23,13 +23,15 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
#Provision
config.vm.provision "shell", inline: <<-SHELL
sudo touch /var/lib/cloud/instance/locale-check.skip
sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo sh -c 'echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" > /etc/apt/sources.list.d/docker.list'
sudo apt-cache policy docker-engine
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
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) stable"
sudo sh -c 'echo "deb https://apt.dockerproject.org/repo ubuntu-cosmic main" > /etc/apt/sources.list.d/docker.list'
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y docker-engine
sudo apt-get install -y docker-ce
sudo usermod -aG docker vagrant
SHELL

View File

@@ -1,7 +1,7 @@
# for CI with appveyor.yml
# Ref: http://www.yegor256.com/2015/01/10/windows-appveyor-maven.html
version: '{branch}-{build}'
os: Windows Server 2012
image: Visual Studio 2017
hosts:
petstore.swagger.io: 127.0.0.1
install:
@@ -18,10 +18,15 @@ install:
- cmd: SET MAVEN_OPTS=-XX:MaxPermSize=2g -Xmx4g
- cmd: SET JAVA_OPTS=-XX:MaxPermSize=2g -Xmx4g
- cmd: SET M2_HOME=C:\maven\apache-maven-3.2.5
- cmd: java -version
- cmd: dir/w
- git clone https://github.com/wing328/swagger-samples
- ps: Start-Process -FilePath 'C:\maven\apache-maven-3.2.5\bin\mvn' -ArgumentList 'jetty:run' -WorkingDirectory "$env:appveyor_build_folder\swagger-samples\java\java-jersey-jaxrs-ci"
build_script:
- dotnet --info
# build C# API client (netcore)
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient\Org.OpenAPITools.sln
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClientCore\Org.OpenAPITools.sln
# build C# API client
- 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"
@@ -34,6 +39,11 @@ build_script:
# install openapi-generator locally
- mvn clean install --quiet
test_script:
# restore test-related files
- copy /b/v/y CI\samples.ci\client\petstore\csharp\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj samples\client\petstore\csharp\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client (netcore)
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClientCore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client
- nunit-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)
@@ -41,6 +51,10 @@ test_script:
# generate all petstore clients
- .\bin\windows\run-all-petstore.cmd
# generate all petstore clients (openapi3)
- .\bin\openapi3\windows\run-all-petstore.cmd
cache:
- C:\maven\
- C:\Users\appveyor\.m2

32
bin/c-petstore.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/C-libcurl -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g c -o samples/client/petstore/c $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -g cpp-pistache-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -o samples/server/petstore/cpp-pistache $@"
ags="generate -g cpp-pistache-server -t modules/openapi-generator/src/main/resources/cpp-pistache-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml --additional-properties addExternalLibs=true -o samples/server/petstore/cpp-pistache $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/cpp-qt5-client -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g cpp-qt5 -o samples/client/petstore/cpp-qt5 $@"
ags="generate -t modules/openapi-generator/src/main/resources/cpp-qt5-client -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g cpp-qt5-client -o samples/client/petstore/cpp-qt5 $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/cpp-qt5-qhttpengine-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g cpp-qt5-qhttpengine-server -o samples/server/petstore/cpp-qt5-qhttpengine-server $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,7 @@
#!/bin/sh
# C# Petstore API client .NET Standard 2.0
./bin/csharp-netcore-petstore.sh
# C# Petstore API client .NET Core 2.0
./bin/csharp-netcore-petstore-netcore.sh

View File

@@ -0,0 +1,38 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
outdir="samples/client/petstore/csharp-netcore/OpenAPIClientCore"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/csharp-netcore/ -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g csharp-netcore -o ${outdir} --additional-properties packageGuid={321C8C3F-0156-40C1-AE42-D59761FB9B6C},useCompareNetObjects=true,targetFramework=netcoreapp2.0 $@"
java $JAVA_OPTS -jar $executable $ags
# restore csproj file
echo "restore csproject file: CI/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj"
cp ./CI/samples.ci/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj ./samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools.Test/

37
bin/csharp-netcore-petstore.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/csharp-netcore/ -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g csharp-netcore -o samples/client/petstore/csharp-netcore/OpenAPIClient --additional-properties packageGuid={321C8C3F-0156-40C1-AE42-D59761FB9B6C},useCompareNetObjects=true $@"
java $JAVA_OPTS -jar $executable $ags
# restore csproj file
echo "restore csproject file: CI/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj"
cp ./CI/samples.ci/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj ./samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools.Test/

View File

@@ -29,8 +29,9 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g csharp -o samples/client/petstore/csharp/OpenAPIClient --additional-properties packageGuid={321C8C3F-0156-40C1-AE42-D59761FB9B6C} $@"
java $JAVA_OPTS -jar $executable $ags
# restore csproj file
echo "restore csproject file: CI/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj"
cp ./CI/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj ./samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools.Test/
cp ./CI/samples.ci/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj ./samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools.Test/
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g cwiki -o samples/documentation/cwiki $@"
ags="generate -t modules/openapi-generator/src/main/resources/confluenceWikiDocs -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g cwiki -o samples/documentation/cwiki $@"
java $JAVA_OPTS -jar $executable $ags

42
bin/dart-jaguar-petstore.sh Executable file
View File

@@ -0,0 +1,42 @@
#!/bin/sh
SCRIPT="$0"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
# Generate client
ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/openapi -DhideGenerationTimestamp=true -DpubName=openapi"
java $JAVA_OPTS -jar $executable $ags
# Generate non-browserClient and put it to the flutter sample app
ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/flutter_petstore/openapi -DhideGenerationTimestamp=true -DpubName=openapi"
java $JAVA_OPTS -jar $executable $ags
# There is a proposal to allow importing different libraries depending on the environment:
# https://github.com/munificent/dep-interface-libraries
# When this is implemented there will only be one library.
# The current petstore test will then work for both: the browser library and the vm library.

View File

@@ -29,18 +29,18 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
# Generate non-browserClient
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi -DhideGenerationTimestamp=true -DbrowserClient=false $@"
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi -DhideGenerationTimestamp=true -DbrowserClient=false --additional-properties supportDart2=false $@"
# then options to generate the library for vm would be:
#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi_vm -DbrowserClient=false -DpubName=openapi_vm $@"
#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi_vm -DbrowserClient=false -DpubName=openapi_vm --additional-properties supportDart2=false $@"
java $JAVA_OPTS -jar $executable $ags
# Generate browserClient
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi-browser-client -DhideGenerationTimestamp=true -DbrowserClient=true $@"
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi-browser-client -DhideGenerationTimestamp=true -DbrowserClient=true --additional-properties supportDart2=false $@"
java $JAVA_OPTS -jar $executable $ags
# Generate non-browserClient and put it to the flutter sample app
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/flutter_petstore/openapi -DhideGenerationTimestamp=true -DbrowserClient=false $@"
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/flutter_petstore/openapi -DhideGenerationTimestamp=true -DbrowserClient=false --additional-properties supportDart2=false $@"
java $JAVA_OPTS -jar $executable $ags
# There is a proposal to allow importing different libraries depending on the environment:

50
bin/dart2-petstore.sh Executable file
View File

@@ -0,0 +1,50 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
# Generate non-browserClient
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi -DhideGenerationTimestamp=true -DbrowserClient=false $@"
# then options to generate the library for vm would be:
#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi_vm -DbrowserClient=false -DpubName=openapi_vm $@"
java $JAVA_OPTS -jar $executable $ags
# Generate browserClient
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi-browser-client -DhideGenerationTimestamp=true -DbrowserClient=true $@"
java $JAVA_OPTS -jar $executable $ags
# Generate non-browserClient and put it to the flutter sample app
ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/flutter_petstore/openapi -DhideGenerationTimestamp=true -DbrowserClient=false $@"
java $JAVA_OPTS -jar $executable $ags
# There is a proposal to allow importing different libraries depending on the environment:
# https://github.com/munificent/dep-interface-libraries
# When this is implemented there will only be one library.
# The current petstore test will then work for both: the browser library and the vm library.

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dynamic-html -o samples/dynamic-html $@"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dynamic-html -o samples/documentation/dynamic-html $@"
java $JAVA_OPTS -jar $executable $ags

32
bin/elm-0.18-petstore.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g elm -t modules/openapi-generator/src/main/resources/elm -o samples/client/petstore/elm-0.18 --additional-properties elmVersion=0.18 $@"
java $JAVA_OPTS -jar $executable $ags

5
bin/elm-petstore-all.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
./bin/elm-0.18-petstore.sh
./bin/elm-petstore.sh

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g elm -o samples/client/petstore/elm $@"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g elm -t modules/openapi-generator/src/main/resources/elm -o samples/client/petstore/elm $@"
java $JAVA_OPTS -jar $executable $ags

32
bin/erlang-petstore-proper.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/erlang-proper -DpackageName=petstore -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g erlang-proper -o samples/client/petstore/erlang-proper $@"
java $JAVA_OPTS -jar $executable $ags

41
bin/go-gin-petstore-server.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
SPEC="modules/openapi-generator/src/test/resources/2_0/petstore.yaml"
GENERATOR="go-gin-server"
STUB_DIR="samples/server/petstore/go-gin-api-server"
echo "Removing files and folders under $STUB_DIR"
rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/go-gin-server -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice $@"
java $JAVA_OPTS -jar $executable $ags
#!/usr/bin/env bash

View File

@@ -25,9 +25,16 @@ then
mvn -B clean package
fi
SPEC="modules/openapi-generator/src/test/resources/2_0/petstore.yaml"
GENERATOR="go-server"
STUB_DIR="samples/server/petstore/go-api-server"
echo "Removing files and folders under $STUB_DIR"
rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/go-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g go-server -o samples/server/petstore/go-api-server -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice $@"
ags="generate -t modules/openapi-generator/src/main/resources/go-server -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -25,8 +25,15 @@ then
mvn -B clean package
fi
SPEC="modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml"
GENERATOR="go"
STUB_DIR="samples/client/petstore/go/go-petstore-withXml"
echo "Removing files and folders under $STUB_DIR"
rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/go -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g go -o samples/client/petstore/go/go-petstore-withXml -DpackageName=petstore,withXml=true $@"
ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstore,withXml=true,withGoCodegenComment=true $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -25,8 +25,15 @@ then
mvn -B clean package
fi
SPEC="modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml"
GENERATOR="go"
STUB_DIR="samples/client/petstore/go/go-petstore"
echo "Removing files and folders under $STUB_DIR"
rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/go -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g go -o samples/client/petstore/go/go-petstore -DpackageName=petstore $@"
ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@"
ags="generate -t modules/openapi-generator/src/main/resources/graphql-nodejs-express-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g graphql-nodejs-express-server -o samples/server/petstore/graphql-nodejs-express-server -DpackageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags

32
bin/graphql-schema-petstore.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@"
ags="generate -t modules/openapi-generator/src/main/resources/graphql-schema -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g graphql-schema -o samples/config/petstore/graphql-schema -DpackageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/markdown.yaml -g html -o samples/html.md $@"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/markdown.yaml -g html -o samples/documentation/html.md $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g html -o samples/html $@"
ags="generate -t modules/openapi-generator/src/main/resources/htmlDocs -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g html -o samples/documentation/html $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g html2 -o samples/html2 --additional-properties hideGenerationTimestamp=true $@"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g html2 -o samples/documentation/html2 --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -17,3 +17,5 @@
./bin/jaxrs-spec-petstore-server-interface.sh
./bin/jaxrs-spec-petstore-server.sh
./bin/jaxrs-usetags-petstore-server.sh
echo " Please run ./bin/jaxrs-cxf-petstore-server-test-data.sh manually instead"

View File

@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/MSF4J -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java-msf4j -o samples/server/petstore/java-msf4j/ -DhideGenerationTimestamp=true --additional-properties artifactId=swagger-msf4j-server $@"
ags="generate -t modules/openapi-generator/src/main/resources/MSF4J -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java-msf4j -o samples/server/petstore/java-msf4j/ -DhideGenerationTimestamp=true --additional-properties artifactId=java-msf4j-server $@"
echo "Removing files and folders under samples/server/petstore/java-msf4j/src/main"
rm -rf samples/server/petstore/java-msf4j/src/main

View File

@@ -4,6 +4,7 @@
./bin/java-petstore-jersey1.sh
./bin/java-petstore-jersey2.sh
./bin/java-petstore-feign.sh
./bin/java-petstore-feign-10x.sh
./bin/java-petstore-okhttp-gson.sh
./bin/java-petstore-okhttp-gson-parcelable.sh
./bin/java-petstore-retrofit.sh
@@ -13,9 +14,11 @@
./bin/java8-petstore-jersey2.sh
./bin/java-petstore-retrofit2-play24.sh
./bin/java-petstore-retrofit2-play25.sh
./bin/java-petstore-retrofit2-play26.sh
./bin/java-petstore-jersey2-java6.sh
./bin/java-petstore-resttemplate.sh
./bin/java-petstore-resttemplate-withxml.sh
./bin/java-petstore-webclient.sh
./bin/java-petstore-resteasy.sh
./bin/java-petstore-google-api-client.sh
./bin/java-petstore-rest-assured.sh

View File

@@ -0,0 +1,5 @@
{
"library": "feign",
"artifactId": "petstore-feign-10x",
"feignVersion": "10.x"
}

40
bin/java-petstore-feign-10x.sh Executable file
View File

@@ -0,0 +1,40 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/feign -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-feign-10x.json -o samples/client/petstore/java/feign10x -DhideGenerationTimestamp=true -DbooleanGetterPrefix=is $@"
echo "Removing files and folders under samples/client/petstore/java/feign10x/src/main"
rm -rf samples/client/petstore/java/feign10x/src/main
find samples/client/petstore/java/feign10x -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
java $JAVA_OPTS -jar $executable $ags
# copy additional manually written unit-tests
mkdir samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client
cp CI/samples.ci/client/petstore/java/test-manual/common/StringUtilTest.java samples/client/petstore/java/feign10x/src/test/java/org/openapitools/client/StringUtilTest.java

View File

@@ -0,0 +1,5 @@
{
"library": "feign",
"artifactId": "petstore-feign",
"feignVersion": "9.x"
}

View File

@@ -1,4 +1,5 @@
{
"library": "feign",
"artifactId": "petstore-feign"
"artifactId": "petstore-feign",
"feignVersion": "10.x"
}

View File

@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/feign -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-feign.json -o samples/client/petstore/java/feign -DhideGenerationTimestamp=true $@"
ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/feign -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-feign-9x.json -o samples/client/petstore/java/feign -DhideGenerationTimestamp=true -DbooleanGetterPrefix=is $@"
echo "Removing files and folders under samples/client/petstore/java/feign/src/main"
rm -rf samples/client/petstore/java/feign/src/main
@@ -37,4 +37,4 @@ java $JAVA_OPTS -jar $executable $ags
# copy additional manually written unit-tests
mkdir samples/client/petstore/java/feign/src/test/java/org/openapitools/client
cp CI/samples.ci/client/petstore/java/test-manual/common/StringUtilTest.java samples/client/petstore/java/feign/src/test/java/org/openapitools/client/StringUtilTest.java
cp CI/samples.ci/client/petstore/java/test-manual/common/StringUtilTest.java samples/client/petstore/java/feign/src/test/java/org/openapitools/client/StringUtilTest.java

View File

@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate --artifact-id petstore-java-client-jersey1 -t modules/openapi-generator/src/main/resources/Java -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -o samples/client/petstore/java/jersey1 -DhideGenerationTimestamp=true --library=jersey1 $@"
ags="generate --artifact-id petstore-java-client-jersey1 -t modules/openapi-generator/src/main/resources/Java -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -o samples/client/petstore/java/jersey1 -DhideGenerationTimestamp=true --library=jersey1 --additional-properties useNullForUnknownEnumValue=true $@"
echo "Removing files and folders under samples/client/petstore/java/jersey1/src/main"
rm -rf samples/client/petstore/java/jersey1/src/main

View File

@@ -27,9 +27,13 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate --artifact-id petstore-jersey2-java6 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-jersey2.json -o samples/client/petstore/java/jersey2-java6 -DhideGenerationTimestamp=true,supportJava6=true $@"
ags="generate --artifact-id petstore-jersey2-java6 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-jersey2.json -o samples/client/petstore/java/jersey2-java6 -DhideGenerationTimestamp=true,supportJava6=true,booleanGetterPrefix=is $@"
echo "Removing files and folders under samples/client/petstore/java/jersey2-java6/src/main"
rm -rf samples/client/petstore/java/jersey2-java6/src/main
find samples/client/petstore/java/jersey2-java6 -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
echo "Restoring build.gradle ... "
cp CI/samples.ci/client/petstore/java/jersey2-java6/build.gradle samples/client/petstore/java/jersey2-java6/
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,4 +1,7 @@
{
"library": "jersey2",
"artifactId": "petstore-jersey2"
"artifactId": "petstore-jersey2",
"additionalProperties" : {
"useNullForUnknownEnumValue" : true
}
}

View File

@@ -34,9 +34,9 @@ find samples/client/petstore/java/okhttp-gson -maxdepth 1 -type f ! -name "READM
java $JAVA_OPTS -jar $executable $ags
# copy additional manually written unit-tests
mkdir samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client
mkdir samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/auth
mkdir samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model
mkdir -p samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client
mkdir -p samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/auth
mkdir -p samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model
cp CI/samples.ci/client/petstore/java/test-manual/common/StringUtilTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/StringUtilTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/ApiClientTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/ApiClientTest.java
@@ -44,4 +44,7 @@ cp CI/samples.ci/client/petstore/java/test-manual/common/ConfigurationTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/auth/ApiKeyAuthTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/auth/ApiKeyAuthTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/auth/HttpBasicAuthTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/auth/HttpBasicAuthTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/model/EnumValueTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/EnumValueTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/model/PetTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/PetTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/model/ArrayOfArrayOfNumberOnlyTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnlyTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/JSONTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/JSONTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/api/PetApiTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/api/PetApiTest.java

View File

@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/rest-assured -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-rest-assured.json -o samples/client/petstore/java/rest-assured -DhideGenerationTimestamp=true $@"
ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/rest-assured -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-rest-assured.json -o samples/client/petstore/java/rest-assured -DhideGenerationTimestamp=true --additional-properties booleanGetterPrefix=is $@"
echo "Removing files and folders under samples/client/petstore/java/rest-assured/src/main"
rm -rf samples/client/petstore/java/rest-assured/src/main

View File

@@ -2,6 +2,7 @@
./bin/java-petstore-retrofit2-play24.sh
./bin/java-petstore-retrofit2-play25.sh
./bin/java-petstore-retrofit2-play26.sh
./bin/java-petstore-retrofit2.sh
./bin/java-petstore-retrofit2rx.sh
./bin/java-petstore-retrofit2rx2.sh

View File

@@ -0,0 +1 @@
{"useBeanValidation":"true","enableBuilderSupport":"true","library":"retrofit2","usePlayWS":"true","playVersion":"play26"}

View File

@@ -0,0 +1,35 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate --artifact-id petstore-java-client-retrofit2-play26 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2-play26.json -o samples/client/petstore/java/retrofit2-play26 -DhideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/retrofit2-play26/src/main"
rm -rf samples/client/petstore/java/retrofit2-play26/src/main
find samples/client/petstore/java/retrofit2-play26 -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,4 @@
{
"library": "webclient",
"artifactId": "petstore-webclient"
}

35
bin/java-petstore-webclient.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-webclient.json -o samples/client/petstore/java/webclient -DhideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/webclient/src/main"
rm -rf samples/client/petstore/java/webclient/src/main
find samples/client/petstore/java/webclient -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
java $JAVA_OPTS -jar $executable $ags

View File

@@ -29,7 +29,6 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/Javascript/es6 \
-i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g javascript \
-o samples/client/petstore/javascript-es6 \
--additional-properties useES6=true $@"
-o samples/client/petstore/javascript-es6 $@"
java -DappName=PetstoreClient $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate --artifact-id cxf-test-data -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-ext -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf-extended -o samples/server/petstore/jaxrs-cxf-test-data -DhideGenerationTimestamp=true -DuseAnnotatedBasePath=true --generate-alias-as-model --additional-properties java8=true,generateSpringApplication=true,generateSpringBootApplication=true,generateOperationBody=true,loadTestDataFromFile=true $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -25,6 +25,9 @@ then
mvn -B clean package
fi
echo "Removing files and folders under samples/server/petstore/jaxrs-cxf"
rm -rf samples/server/petstore/jaxrs-cxf
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf -o samples/server/petstore/jaxrs-cxf -DhideGenerationTimestamp=true --additional-properties serverPort=8082 $@"

View File

@@ -26,7 +26,7 @@ then
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties -DdebugSupportingFiles=true"
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -t modules/openapi-generator/src/main/resources/kotlin-server -g kotlin-server --library=ktor -o samples/server/petstore/kotlin-server/ktor -DhideGenerationTimestamp=true $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}

View File

@@ -0,0 +1,35 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=$(ls -ld "$SCRIPT")
link=$(expr "$ls" : '.*-> \(.*\)$')
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=$(dirname "$SCRIPT")/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=$(dirname "$SCRIPT")/..
APP_DIR=$(cd "${APP_DIR}"; pwd)
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn clean package
fi
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="$@ generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -t modules/openapi-generator/src/main/resources/kotlin-spring -g kotlin-spring -o samples/server/petstore/kotlin-springboot --additional-properties=library=spring-boot,beanValidations=true,swaggerAnnotations=true,serviceImplementation=true"
echo "Cleaning previously generated files if any from samples/server/petstore/kotlin-springboot"
rm -rf samples/server/petstore/kotlin-springboot
echo "Generating Kotling Spring Boot server..."
java $JAVA_OPTS -jar $executable $ags

View File

@@ -26,11 +26,11 @@ then
fi
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="meta -n myClientCodegen -p com.my.company.codegen -o samples/meta-codegen/lib $@"
ags="meta -n myClientCodegen -t DOCUMENTATION -p com.my.company.codegen -o samples/meta-codegen/lib $@"
java $JAVA_OPTS -jar $executable $ags
mvn verify -f samples/meta-codegen/lib/pom.xml
mvn clean package -f samples/meta-codegen/pom.xml
ags2="generate -g myClientCodegen -i modules/openapi-generator/src/test/resources/2_0/petstore.json -o samples/meta-codegen/usage $@"

32
bin/mysql-schema-petstore.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/mysql-schema -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g mysql-schema -o samples/schema/petstore/mysql $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -g cpp-pistache-server -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o samples/server/petstore/cpp-pistache $@"
ags="generate -g cpp-pistache-server -t modules/openapi-generator/src/main/resources/cpp-pistache-server -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o samples/server/petstore/cpp-pistache $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/cpp-qt5-client -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g cpp-qt5 -o samples/client/petstore/cpp-qt5 $@"
ags="generate -t modules/openapi-generator/src/main/resources/cpp-qt5-client -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g cpp-qt5-client -o samples/client/petstore/cpp-qt5 $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/cpp-qt5-qhttpengine-server -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g cpp-qt5-qhttpengine-server -o samples/client/petstore/cpp-qt5-qhttpengine-server $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate $@ -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g csharp -o samples/client/petstore/csharp/OpenAPIClient --additional-properties packageGuid={321C8C3F-0156-40C1-AE42-D59761FB9B6C}"
ags="generate $@ -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g csharp -o samples/openapi3/client/petstore/csharp/OpenAPIClient --additional-properties packageGuid={321C8C3F-0156-40C1-AE42-D59761FB9B6C}"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g elm -o samples/client/petstore/elm $@"
ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g elm -t modules/openapi-generator/src/main/resources/elm -o samples/openapi3/client/petstore/elm --additional-properties elmPrefixCustomTypeVariants=true $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,41 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
SPEC="modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml"
GENERATOR="go-gin-server"
STUB_DIR="samples/openapi3/server/petstore/go-gin-api-server"
echo "Removing files and folders under $STUB_DIR"
rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/go-gin-server -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice $@"
java $JAVA_OPTS -jar $executable $ags
#!/usr/bin/env bash

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