* kotlin spring : add reactivity via kotlin's coroutines
* add kotlin spring boot reactive samples
* bug : fix spring version and import for coroutines
* remove exception handler for reactive (webflux doesn't support it)
* add spring milestone repository to maven pom
* add reactive type for list in Api and ApiImpl methodes for mathching body responsive parameter
* fix baseType for ArraySchema
* regenerate samples
* updating documentation
* [JAVA] fix artifactVersion is not taken from specification when not provided by generator option
* update jaxrs-spec samples
* update docs generator jaxrs
* add apiSuffix configuration
* Add default value for Api suffix
* remove overriding method toApiName
* refactor the global option apiSuffix to kotlin specific feature
* add missing Option for apiSuffix
* extend readme.md for apiSuffix configuration
* update doc
* add testcase
* [Java] improve docs with adding default value for additional properties
* remove using File.separator for sourceFolder/projectTestFolder path
* Improve artifactId and artifactVersion description
* update doc java pkmst and sample
* [feat] Intro GeneratorMetadata (stability index)
GeneratorMetadata offers an immutable object created via Builder pattern
which allows generators to explicitly define their stability (stable,
beta, experimental, deprecated) as well as a message to be shown during
generation.
This is a step toward:
* Fleshing out the "Core" artifact (#845)
* Providing a place to encapsulate feature-oriented metadata (#840)
* Providing a means to communicate end of life scheduling (#116)
This new structure, specifically the Stability property, allows us to
offer future enhancements such as allowing users to filter down to only
"Stable" generators via CLI, and eventually any compat table (see #503).
* Mark deprecated generators as deprecated in-code
* Re-export docs/generators.md
* Beta server stub generator for F#/Giraffe (#2705)
* first commit for F#/Giraffe
use CLI generator
work on handlers
add binding to url params
add parameter declaration to handler & fix array types
order models by dependency and add tests
add oauth handlers
add service generation
add service implementation
return json for map types and add all return types to service implementation
pare down record types for readability
move implementations to impl folder
fix additional handler invocation
remove logging
remove open api type provider package reference
add sane defaults for OAuth
add readme and reorganize files for easier ignore
fix oauth checks and move login to default template
typedef operation body params as model
add API test templates
fix test templates
set project & other folders when packageName is set
add ignore to test pipes
add ignore for oauth to hide compile warnings
escape model types for generic dictionaries
remove Boolean object from primitives
fix handler and param templates for multiple path params
remove "Model" from model module names and fix import mapping for dictionary
add package name to model imports
change model templates to use imports
move login to CustomHandlers
raise exception where oauth not properly configured
allow webhost configuration from CustomHandlers
remove explicit support for nullable types and render option in template instead
move Cookie options to CustomHandlers
add header params
integrate api key provider
add nullable to datetime types
fix test generation and pretty up model folder
add context path to handler test template
dont copy spec file
remove superseded copyright notices
remove superseded copyright notices
* remove carriage return in fsharp template
* remove superseded sample output directory
* fix bash build script
* update generated sample
* update documentation
* add new file
* fix compile issues
* [all] Adds strict spec option
Introduces an option to allow user customization of strict specification
behaviors. For instance, OpenAPI 3.x requires a path object name to be
prefixed with '/' so we append any missing '/', but this may not be
desirable to some users or generators. In this commit, this fix specifically is
the only modification affected.
* Clarify strict-spec docs, add option to README.md
* Update CLI options in docs/usage.md
* [cli] Support packageName as global option
CLI supports other package-related options (--api-package,
--model-package, --invoker-package). This aligns those options with
--package-name to avoid confusion about how to configure these options
where those are supported.
This intentionally does not apply a packageName getter/setter to
DefaultCodegen to reduce the footprint of this change.
* [gradle] Add packagName as global option
This makes packageName available as a global option, beside apiPackage,
modelPackage, and invokerPackage to reduce potential confusion about how
to configure the four of these options by generators which support them.
* Improve CONTRIBUTING.md
Indicate that bin/openapi3 scripts should be executed too.
Try to clarify how to run tests:
* use in sample a client for which tests exist
* explain where to run the command and how to find the artifactId
* Update contributing.md by running copy-to-website
* Add first cutasync support and small cleanups
* Add apiPackage, modePacke to use for namespaces, for library don't generate wwwroot and dont make model class partial and default to no swashbuckle, , workarodun empty string cliOption
* Update docs
* Don't add async for library
* Fix generated program for async and task
* Default models names space should be <package>.Models
* Remove commented out code
* Remove unnecessary code, fix a comparison and add an else fo an if statment.
* Update docs
* [BUG][php-symfony] Fix alias generation
* fix
* add bundle alias option and alias logic when it is not defined
* run bin/utils/ensure-up-to-date to update php-symfony.md
* [Doc] Better highlight of generators docs page with generators specific parameters
* [Doc] Better highlight of generators docs page with generators specific parameters
* Add optValue to CliOption
* Fix compilation with ASP.Net Core 2.1
* Add ASP.Net core 2.2
* Use CliOption for classModifier, operationModifier, buildTarget, add ASP.Net core 2.2
* Make abstract method look cleaner
* Update docs
* Regenerate sample
* Update swagger-parser to '2.0.10-SNAPSHOT'
* Add a TODO
* Update input spec
* Update input spec again
* Update samples
* Set version to 2.0.10-OpenAPITools.org-1
* Ensure up-to-date
* Update to 2.0.11-OpenAPITools.org-1
* Run bin/utils/export_docs_generators.sh
* update dart-jaguar doc
* Support additionalPorperties as command line arguments
* Move Readme into main dir
* Update Mustache
* Update sample
* Test coverage
* Move cli options
* Revert options
* Remove tabs
* openapi 3 examples
* Update readme
* serverPort to int
* Move package version cli option to AbstractGoCodegen
* Update samples
* Tab to spaces
* Update docs and sample with xml
* Manual update doc
* Another doc try
* Regenerate go-gin-server doc
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
```
* [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
* 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
* 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
* 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
* [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
* [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)
* 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
* [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
* 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
* 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 95b6a00f8b1d92a65e0d4467b5c4f034a9579e43.
* Revert "Tweak indent"
* This reverts commit ba2cedc89723ed480e8282c0a4e07ab2d3670262.
* Revert "Returns status code which defined at Response Object"
* This reverts commit f676a89e230dde6741aa96d7b2e27e04b35dbf5a.
* 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
* 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.
* 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.
* 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
* 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
Updates some confusing wording, specifies naming conventions, and links
to external `new.sh` for contributed templates (rather than modified
templates).
* Expanding customization docs
As a new user I was very confused on how to either modify, override or create a new library. The existing docs were brief and had requirred knowledge that new users will not have, and it took a lot of trial and error to make progress.
Also the wording seemed off. It kept talking about "client" when this project creates more than just clients, used "language" when some templates are not a language, and used library to mean a few seeminly different things. I've tried to consolidate the wording around "template" and "codegen".
The codegen is the Java code, and then you give it a "name" which is used for the template. That's the template folder it will live in, so it seems to work.
Feel free to use this as a base and edit it out, but this will all make a lot more sense to beginners. :)
* 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
* [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
* add question and anaswer section
* add project URL to the license
* Use relative path for link between pages
* Reword some sentences, remove we/they style