Commit Graph

6304 Commits

Author SHA1 Message Date
sunn
92a0e4e7d8 Remove 'new' keyword from collection 2018-06-24 00:28:53 +02:00
Yuriy Belenko
36f4452351 [Slim] Upgrade API server integration tests to use Fake Petstore spec (#354)
* [Slim] Shell script points to petstore-with-fake-endpoints-models-for-testing.yaml. Slim init and new models has been generated.

* [Slim] Bugfix. Special value */* in opperation produces escaped to avoid PHP syntax errors.

* [Slim] Add own private static final LOGGER

* [Slim] Bugfix. toModelName method copied from PHPClient codegen which handles Fake Petstore spec much better.

* [Slim] Sort operations in supporting files data to avoid shadowing static routes.

* [Slim] Mustache index.php update. Params parsing enhanced.

* [Slim] Tiny cleanup. Unnecessary empty space removed.

* [Slim] Security fix. toOperationId method copied from PhpClientCodegen.

* [Slim] Bugfix. formData params parsing restored.

* [Slim] Proper .gitignore added to PhpSlimServerCodegen. Vendor folder with all dependencies removed to keep repo more clean.

* [Slim] Slim dependency update to 3.10.0. Few test fake endpoints fixed by this upgrade.
2018-06-23 12:10:38 +09:00
Jérémie Bresson
8f4df45fb4 Consider ComposedSchema in DefaultCodegen#fromRequestBody(..) (#358) 2018-06-22 10:44:14 +02:00
stkrwork
23ab5177b3 [C++][Pistache] Fix optional error and wrong function signatures (#264)
* Added missing includes for optional

* Removed shared pointer from pistache generator

* Changed Net namespace to Pistache Namespace

* Clean up code and removed unnecessary lines in mustache files

* Removed remaining shared pointer syntax

* Code review fixes + updated samples

* Added const to all model setter functions, and reference to all params in setters that are not primitives

* Refactored modelbase

* Removed const

* Updated samples
2018-06-22 09:12:35 +08:00
Jérémie Bresson
5884db97d4 Fixes for maven deploy (#366)
gradle-plugin-mvn-wrapper:
* Fix disabling of install and deploy
* Set skipNexusStagingDeployMojo to true
2018-06-21 15:05:38 +02:00
Geoff Brown
12ab7e2752 Use case sensitivity when checking reserved words (PHNX-1040) (#3) (#351)
Motivation
-------------
Open API generator previously wasn't case sensitive when checking for reserved words in the typescript generator. This will allow us to have the "Package" model in ProductCatalogs without needing to rename anything.

Modifications
------------------
Duplicated the C# logic for reserved words (per the @jimschubert from openapitools' suggestion)
2018-06-21 17:34:22 +08:00
Akihito Nakano
e23b2f6fcc [Scala][client] Rename script, sample folder, template dir (#334)
* Rename scripts akka-scala-petstore.sh -> scala-akka-petstore.sh

* Rename sample folder: akka-scala -> scala-akka

* Rename templateDir: akka-scala -> scala-akka-client

* Rename scripts: scala-petstore.sh -> scala-httpclient-petstore.sh

* Rename sample folder: scala -> scala-httpclient

* Rename templateDir: scala -> scala-httpclient

* update circle pom.xml for new scala path

* remove duplicated scala test
2018-06-21 17:28:58 +08:00
Joe Elliott
5b5fe3cad9 [Swift 4] add compatibility for unwrapRequired config option (#229)
* Added support for unwrapRequired in Swift 4

* Update petstore generators for Swift.
2018-06-21 16:52:02 +08:00
ilk
4664c07034 [go] Fix issue #51, change object mapping from *interface{} to map[string]interface (#60) 2018-06-21 13:36:28 +08:00
Mads Føhns
d19a2faf8e [php] Correctly handle multiple valid responses (#128)
* #125: Correctly handle multiple valid responses

* Fixed defaultResponses

* Fixed void-returns

* Fixed multiple return-types without an actual type

* Update the samples under openapi3 folder
2018-06-20 21:26:23 +09:00
Jérémie Bresson
9511586f07 Prepare 3.0.3-SNAPSHOT (#338) 2018-06-18 09:32:11 +02:00
Jérémie Bresson
74914b6313 Prepare release 3.0.2 (#337) 2018-06-18 07:19:53 +02:00
Ben Wells
c51986d657 Go server clean up (#328) 2018-06-18 01:09:48 +08:00
Jim Schubert
97bab928bd [cli] Enable recommendations on validate command (#292) 2018-06-18 01:09:21 +08:00
Akihito Nakano
75171b4672 [C++] Rename template dir (#332)
* Rename templateDir: pistache-server -> cpp-pistache-server

* Rename templateDir: qt5cpp -> cpp-qt5-client

* Rename templateDir: restbed -> cpp-restbed-server

* Rename templateDir: cpprest -> cpp-rest-sdk-client

* Rename templateDir: tizen -> cpp-tizen-client

* Update scripts
2018-06-17 19:56:56 +09:00
delenius
c607ea8b31 Add fixes for es6 generator (#180)
Various fixes for JS (ES6) generator
2018-06-17 01:59:23 +08:00
Ville Skyttä
798bf61fde Grammar and spelling fixes (#329) 2018-06-17 00:49:01 +08:00
Stian Liknes
680a2bc3ec Configuration option to disable HTML escaping when using Gson (#298)
* Configuration option to disable HTML escaping when using Gson

The default implementation of Gson will escape certain characters by default. This
includes the `=` character, which is used in base64 encoding and cause problems when
deserializing the value to a base64 encoded string in a service.

Adding an option for disabling this feature makes it easier to generate client code
with sane defaults.

* Update Petstore sample
2018-06-14 19:27:52 +08:00
topce
f8e61ac914 [typescript] fix cast problem (#303)
* fix cast problem

* fix cast problem
wing328 suggestion
2018-06-14 19:20:34 +08:00
Stian Liknes
24104dac35 Add option modelPropertyNaming to javascript generator (#299)
* Add option modelPropertyNaming to javascript generator

Fixes 6530

* Update Petstore sample
2018-06-14 19:19:23 +08:00
Benjamin Gill
6f6a4a1013 [rust-server] (Re-)Adding support for rust-server (#290)
* First attempt at getting rust-server working

* Solve the problem of spurious 'object's

* We've found the missing models

* Catch some single-var objects correctly

* Get single-param models 'working'

* Got files working

* Remove surplus logging

* Disable some things to get it compiling

* `cargo test` now passes as well

* Create rust-server-specific petstore.yaml

We've commented out a few bits that rust-server doesn't yet support

* Remove commented-out code

And finally get rid of the generation date in the sample
2018-06-13 18:53:03 +08:00
sunn
299527370e [go-server] Add dockerfile for building and run petstore service (#274)
* Add possibility to build and run go service in a container

* Remove tabs

* Update Pet Store server sample

* Add {{{packageName}}} instead of petstore
2018-06-13 16:55:04 +08:00
Christophe Bornet
d2016d8e0a Fix spring controller validation (#225) 2018-06-12 20:45:17 +08:00
Jérémie Bresson
8ae1c814d5 Prepare 3.0.2-SNAPSHOT (#285)
Set version `3.0.2-SNAPSHOT`.

Follow up from #280
2018-06-11 13:22:03 -04:00
William Cheng
0453e64fa6 Prepare 3.0.1 release (#280)
* add new bash script for release version update

* update version using the bash script

* Fix shippable build

Modify `artifactId` of `CI/pom.xml.shippable` to be `openapi-generator-shippable-pom`

* Comment ensure-up-to-date

* add shippable to the release script

* Updates README based on new release changes (#271)

The release management changes moved from maven-publish (newer plugin)
to maven (older plugin, only one that works currently with signing).
This updates docs in the samples/local-spec project with current
directions.

Also:

* Includes sonatype releases/snapshots on repo lookup
* Adds openApiGeneratorVersion property
2018-06-11 10:32:15 -04:00
Esteban Marin
0a479f77f6 [typescript-angular] strict type checking (#218)
* strict type checking

* strict type checking

* generate samples for angular-typescript
2018-06-11 21:31:23 +08:00
sunn
f5f00069bd Removed warnings for packages included in SDK for Net Core 2.0 (#269)
Microsoft.Extensions.SecretManager.Tools
Microsoft.DotNet.Watcher.Tools

For docker containerized apps, avoiding restore again is important for image size
2018-06-10 08:29:13 -04:00
Jim Schubert
640fd87e3b [cli] Completions command for suggestions (#213)
* [cli] Completions command for suggestions

This takes airlift's 'suggest' command and reuses it as a different
command name, 'completion'. This gives us in-built CLI completions which
are useful in the repo-level container's docker-entrypoint.sh. This
previously parsed Java files for conventional usage of Command
annotations, which is potentially buggy. The new implementation relies
only on CLI to provide command completion suggestions.

As part of this, we can prepare for bash completion scripts which can be
added to our homebrew formula.  The new completion command will also
complete on command options, for example:

cli completion generate

This will provide all short and long form switches available to the
generate command.

* Add piggyback license onto licensed of file borrowed from airlift/airline
2018-06-10 19:33:00 +08:00
SiMing Weng
43b60e667e [Java][RestTemplate] Fix query parameter URL encoding (#260)
* add URL encoding to the query parameters in case they have unsafe characters

* add comment

* update generated samples
2018-06-10 17:48:26 +08:00
sunn
a2c27ba8a6 [cpp-qt5] Remove std::shared_ptr from Qt5 (#267)
* Remove std::shared_ptr from Qt5
Updated Petstore
Update Object Template to be able to store the json body

* Remove tabs
2018-06-10 17:39:38 +08:00
Jim Schubert
5a332f3c57 [gradle] Plugin release management (#201)
* [gradle] Plugin release management

This applies steps necessary for publishing to Sonatype, including
sources, javadoc, jar and signing. Also includes full POM details, per
Sonatype requirements.

* Properties placeholders in gradle plugin (should allow users without these settings to build locally)
* Update build wrapper for install task to be used with new maven plugin, not maven-publish plugin
* Add code signing for gradle and maven
2018-06-09 14:21:31 -04:00
Jérémie Bresson
992afd51eb Fix ModelUtils.getUnusedSchema() (#253)
Fix #252

`ModelUtils.getUnusedSchema()` consider Schemas referenced in other Schemas. Implemented for:

* array
* object
* maps
* ComposedSchema
  - oneOf
  - anyOf
  - allOf
* not
2018-06-09 11:56:08 +02:00
Matteo Mazza
ebaa7021a4 feat(security): add cookie-auth support (#240) 2018-06-09 00:20:40 +08:00
William Cheng
fbe9626b7e [jaxrs-spec] generate spec file (yaml) correctly (#243)
Fix #235
2018-06-07 11:08:52 +02:00
Akihito Nakano
cf657f1c7b [C++] Adjust the names (script, sample folder, generator) to lang option (#220)
* Rename script: qt5-petstore.sh -> cpp-qt5-petstore.sh

* Rename sample folder: qt5cpp -> cpp-qt5

* Rename script: cpprest-petstore.sh -> cpp-restsdk-petstore.sh

* Rename sample folder: cpprest -> cpp-restsdk

* Rename generator: CppRestClientCodegen -> CppRestSdkClientCodegen

* Rename script: tizen-petstore.sh -> cpp-tizen-petstore.sh

* Rename sample folder: tizen -> cpp-tizen

* Rename script(security): qt5cpp-petstore.sh -> cpp-qt5-petstore.sh

* Rename sample folder(security): qt5cpp -> cpp-qt5

* Rename script(windows): qt5cpp-petstore.bat -> cpp-qt5-petstore.bat

* Change sample folder

* Rename script(windows): cpprest-petstore.bat -> cpp-restsdk-petstore.bat

* Change sample folder

* Rename script(windows): tizen-petstore.bat -> cpp-tizen-petstore.bat

* Change sample folder

* Change output folder: tizen -> cpp-tizen

* Rename the scripts under bin/openapi3

cpp-restsdk is not exist under bin/openapi3

* Change sample folder
2018-06-07 16:55:43 +08:00
Christophe Bornet
7a1945e154 [Spring] Add apiFirst option (#184)
* [Spring] Add apiFirst option

* Git diff to see what's wrong

* Git diff to see what's wrong

* Update bin/ensure-up-to-date

* Run bin/ensure-up-to-date
2018-06-07 13:55:12 +08:00
Jim Schubert
f4c66d9e53 [cli] Write to stdout/stderr, allow redirection (#207)
* [cli] Write to stdout/stderr, allow redirection

Previously, slf4j-simple from generator core was being used. This writes
to only a single stream (STDERR) and is confusing from a CLI tooling
perspective.

This consumes logback in CLI, and excludes core's slf4j-simple
dependency. This allows us to define multiple appenders, one for STDOUT
and one for STDERR.

WARN messages and lower are written to STDOUT. ERROR is written to
STDERR.

* [cli] Limit logs to match prev implementation

* Remove slf4j-simple from core project, to avoid conflicts with consumer logger implementations
2018-06-07 12:45:03 +08:00
Ben Mordue
0fb1ffa88b [JAVA][Client] New object instead of null for empty POST request (#98)
new Object() for empty request body
2018-06-07 06:37:37 +02:00
Jérémie Bresson
69a3852ef7 Make yaml serialization deterministic (#233) 2018-06-06 11:47:13 +02:00
Stephane Carrez
967cc5bd3b Fix #210: [Ada] Update the code generator for required and optional parameters (#211)
- Do not check for required parameter in getTypeDeclaration()
- Update the nullableTypeMapping map to map an Ada type into a corresponding
  Nullable_<T> Ada type that allows the value to be null
- Check for optional parameter in postProccessOperations() and postProcessModels()
  to replace the Ada type into an Ada type that supports null values
2018-06-05 23:04:39 +08:00
Akihito Nakano
b8f1e5afa1 Delete unused methods in DefaultCodegen (#209) 2018-06-05 23:02:14 +08:00
Jérémie Bresson
501245d0c2 Fix javadoc in clioption (#188)
* Fix javadoc warning

* Update 'maven-javadoc-plugin' to 3.0.1
2018-06-04 00:32:54 +08:00
Jérémie Bresson
df55ab3efb Build improvements (#202)
* Set "openapi-generator-maven-plugin" version to 3.0.0

* Disable maven-install-plugin in "openapi-generator-gradle-plugin"

* Changes to the maven wrapper for openapi-generator-gradle-plugin

* Remove deploy-file that does not work
2018-06-02 21:06:37 -04:00
Jérémie Bresson
1e5e1d4458 Prepare 3.0.1-SNAPSHOT (#195)
* Restore version to 3.0.0-SNAPSHOT

* Set version to 3.0.1-SNAPSHOT

* Run ensure-up-to-date

* Remove duplicated version declaration
2018-06-02 10:57:33 +08:00
William Cheng
9c82520637 update docker file to use stable JAR 2018-06-01 15:48:15 +08:00
William Cheng
aea08fe76e Remove SNAPSHOT version from online generator 2018-06-01 15:03:32 +08:00
William Cheng
746bb06a2a Release version 3.0.0 (#190)
* update release version to 3.0.0

* comment out ensure-up-to-date during the release

* add release note

* clean up

* clean up links

* add release note for 3.0.0

* update release note

* update release note

* update version for gradle plugin before release
2018-06-01 10:58:16 +08:00
Jim Schubert
b6b8c0db87 [gradle-plugin] Initial implementation (#162)
* [gradle-plugin] Initial commit

* Clarify comments on file constraints

When a user sets the models, apis, or supportingFiles environment
variables, any one of these being set disables generation for the other
two.  This could be confusing to users, so I've added some clarification
text in the comments for these properties.

In addition, I've cleaned up the extension on
Property.ifNotEmpty, to avoid using Suppress annotations where it's not
necessary. The change creates a local variable of type T?, allowing
Kotlin to track the variable's nullable state at compile time.

* Move gradle plugin under modules

* Move kt files under kotlin source set. Add sample.

* [gradle] map-like options as maps

* Add tests for gradle validate task

* Apply gradle plugin to mvn install phase

* [gradle] Testing remaining gradle tasks

* Add gradle plugin to the integration doc

* Update gradle plugin README with task options

* Gradle readme formatting
2018-05-31 19:23:05 +08:00
Thibault Duperron
bd50d368eb [JAVA - jaxrs-reasteasy-eap] Add import to models (#179)
Call super management for managing imports in postProcessModelProperty
2018-05-30 07:35:52 +02:00
Jim Schubert
f042132857 Cli error message improvements (#172)
* Errors in Generate/Validate print to stderr/exit 1

Generate and Validate exposed exceptions rather than user-friendly
messages when an error occurred. In generate, this could happen for
numerous reasons, but the most likely is a user typing (or guessing) an
invalid generator name. In Validate, an error was exposed if there were
any validation errors in a spec.

New behavior:

* Generate now exposes a typed exception when a generator cannot be
  loaded by name. This allows consistent messaging for load failures.
* Generate now presents guidance on failure (check the spelling and try
  again). This is purely a usability improvement.
* Validate now writes validation errors to stderr and exits with code 1.

* Improve err messages: config-help/required opts.

config-help now presents same error for invalid generator names as the
'generate' command.

Options which are required, and those which require a value, now present
a user-friendly hint at the error and exit with code 1 (rather than an
uncaught exception).

* Log missing -g error to stderr rather than LOGGER
2018-05-29 18:36:26 +08:00