* Combine javascript and javascript-apollo generator functionality
* Combine javascript and javascript-apollo templates
* update configs
* deprecate javascript-apollo generator
* bonus magic string deletion ✨
* update samples
* update generator docs
* fix: include .babelrc in apollo generation
* update samples
* update samples
* rename javascript-apollo to javascript-apollo-deprecated
* fix javascript apollo library template
Apollo library now uses the partial_model_generic template file from the ES6 library, as it includes many fixes and improvements (including handling models with ill-named attributes)
* update samples
* Create javascript-apollo-deprecated.md
* Updated javascript generator template's gitignore
Updates .gitignore with that from https://github.com/github/gitignore/blob/main/Node.gitignore
Main reason for the update is to ignore the 'dist' folder with compiled files by default.
* javascript generator: merge api_test template files
The only difference is that Apollo is not designed for browser, so having a "if(browser)" check is useless, but doesn't hurt.
* update docs
* cleanup
* avoid possible config clash
* update javascript-apollo sample
* update javascript-es6 sample
I kept the pom.xml from before
* update javascript-promise-es6 sample
kept pom.xml
* update samples
* Add typescript-axios/with-separate-models-and-api-inheritance sample as test for #13203
* [typescript-axios] Add // @ts-ignore to imports in models if withSeparateModelsAndApi is set
* [typescript-axios] Update samples
* avro-schema generation fix for arrays with ref to enum (or any non primitive type) to include modelPackage prefix
* sample scenario and generated outputs for avro-schema
* create avro-schema dedicated test file
* [Ruby] Use Ruby autoload to lower memory usage and load times
Fixes#12648
Requiring all models up front can be very expensive in both time and
memory if there are many models. In an example client with 6000 models,
this would consume nearly 400MB of memory and take about 7 seconds to
load. This is mostly unnecessary as most users of the client library
will only actually use a small percentage of the library.
The changes in this commit use Ruby's autoload capability to defer the
loading until the constant is actually used. In that same example client
with 6000 models, when initially requiring the library, the memory
usage dropped to ~20MB and loaded in 0.3 seconds. As the constants are
loaded on-demand, the memory would increase towards that 400MB ceiling,
but if only a few constants are actually used, then memory will never
actually hit that ceiling.
An additional side effect of using Ruby's autoload is that the order of
declaring the constants is not important, as Ruby will naturally load
them in the correct order when they are needed. Thus, this commit obviates
PR #9103 and fixes#4690.
* add option to use autoload in ruby client
* test ruby clients only
* add tests
* update samples
* Revert "test ruby clients only"
This reverts commit 0aaf71cd4cc5d266f824b261a4d312f07bd589e5.
* update doc
Co-authored-by: Jason Frey <fryguy9@gmail.com>
* remove @RequestMapping from the apiController.mustache file and add it
to the api.mustache file
* move the defaultBasePath.mustache file in src/main/resources/JavaSpring
so that it commun with all Spring server-side libraries (spring-boot,
spring-mvc). The value of default context path is the value of
contextPath variable.
* added a unit test to verify it
* update the outputDir variable to samples/server/petstore/spring-stubs in
the bin/configs/spring-stubs.yaml file because it generates Spring
server-side classes. And not on the client-side as the output directory
seemed to suggest.
* Results of "generate-samples.sh bin/configs/spring*" command
* Remove default value of url in @FeignClient
* resolve conflicts with origin/master
* merge remote/master into branch
* fix samples after a merge with master
* delete the directory samples/client/petstore/spring-stubs because it
moved to samples/openapi3/...
* add samples/client/petstore/spring-stubs just for the CI build (normally
it is unnecessary))
* delete 3 kotlin class files commited by error in
samples/server/petstore/kotlin-springboot and
samples/server/petstore/kotlin-springboot-reactive
* Update the unit test SpringCodegenTest.doAnnotateDatesOnModelParameters
because one more annotation is generated (@RequestMapping)
Co-authored-by: rpruvost <rpruvost@ITEM-S78402.emea.msad.sopra>
Co-authored-by: rpruvost <rpruvost@ITEM-S78402>
Co-authored-by: rpruvost <rpruvost>
* [kotlin][client] Kotlinx Serialization cleanup
* [kotlin][client] Kotlinx Serialization cleanup
* [kotlin][client] add support for unknown default case with Kotlinx Serialization
* [kotlin][client] add support for unknown default case with Kotlinx Serialization
* [kotlin][client] add support for unknown default case with Kotlinx Serialization
* [kotlin][client] improve Kotlinx Serialization naming
* [kotlin][client] improve Kotlinx Serialization naming
* Adds draft6 tests and python file reader
* Adds processing of multiple files
* Moves test examples into a different component so component schemas can be booleans
* Excludes boolean schema cases and some others that contain patternProperties
* Adds automatic test generation, template not quite working with indentation
* Turns on allOf tests, some failing
* Adds more generated components and tests
* Adds enum tests
* Turns on all of themissing tests
* Adds exclmax and min exclusion reasons
* Adds items test cases
* Adds maximum
* Adds maxItems
* Adds maxLength
* Adds maxProperties
* Adds minimum
* Adds minItems
* Adds minLength
* Adds minProperties
* Adds multipleOf
* Adds not
* Adds oneOf
* Adds pattern
* Adds patternProperties
* Working on properties examples, partial fix for escaped characters
* Further improves example string escaping
* Fixes properties test cases
* Adds draft6 test samples license
* Adds ref
* Finishes ref
* Adds remoteRef
* Adds required
* Improves required testing
* Fixes build error / javadoc warning
* Fixes uniqueItems bug in python-experimental
* Turns all tests back on
* Fixes 2 failing tests, all python tests pass
* Fixes java npe errors
* Fixes formatting of tests, indentation fixed
* Test fase name fixed to toTestCaseName, docstring added to ObjectWithTypeBooleans
* Fixes typo
* Adds test deletion to samples generation, samples regenerated
* Updates python-exp unit test sample, includes new ref examples
* use rlang as exception in the petstore test
* add errorObject support
* fix method name, use ModelApiRespeonse
* update samples
* update doc
* fix api exception
* Upgrade virtualan-plugin to 2.5.1
* Generate samples
* Upgrade virtualan sample to springdoc
* Generate Samples
* Add samples/server/petstore/springboot-virtualan to ci run
* Upgrade virtualan-plugin to 2.5.2
* Generate samples
* Add virtualan.version to spring-boot-3 pom.xml, upgrade to 2.5.2
* [core] Fix naming of reservedWordsMappings
* `GeneratorSettings` used a wrong name (missing `s`) which resulted in config loaded from YAMl files not working
* [dart] Respect reservedWordsMappings when checking for reserved words
The default controller implementation returns an empty response. This
might result in unexpected behavior when an operation isn't implemented,
as a consumer of the API there is no way to notice the difference
between an unimplemented method and an actual empty response.
By changing the default behavior to return HTTP 501 Not Implemented the
user will be made aware of unimplemented methods. The former default
behavior, returning an empty response by default, can be activated with
a configuration option.
* scala-akka-http-server model default value when field is not required
* scala-akka-http-server sample generate
* delete bin/configs/other/scala-akka-http-server.yaml
* Bugfix Kotlin-client: Can now handle path param of type list for jvm-volley and multiplatform. Also cleaning up generated code
* Adding samples to github workflow. Deleting old workflow
* Tweaking setup of jvm-volley
* Updating samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* PoC json_serializable in dart-dio-next
* Move build.yaml template into json_serializable dir
* Undo implicit-dynamic change
* Fix automatic formatting
* Treat non-required fields as nullable
* Make class properties final
* Fix error introduced by merging in master
* Fix map creation when deserializing
* Exclude built files from analysis
* Add new dio import props
* Fix broken merge
* Fix configuration of nullable properties
* Only add api_util import if using built value
* Add config param to set properties as final
* Fix syntax error due to merge
* Update to simplified dio configuration
* Add missing api constructor template
* Fix import for multipart files
* Fix inclusion of library deserialize template
* Update docs
* Remove trailing newline from class
* Fix whitespace in generated templates
* FIx built value generation problem caused by merge conflicts
* Escape dollar signs in strings
* Handle enums
* Config for json_serializable sample
* Generate sample for json_serializable
* Revert "Escape dollar signs in strings"
This reverts commit 6e2a3aeea0450518433f2a07fe7cda92272b18a5.
* Use raw strings when dealing with enum values
* Add json_serializable Maven module ind fix number based enums
* regenerate all tests
* Update docs and fix wrong maven module
* add a beta hint to json_serializable option
* Update minimum dart sdk with json serializable
* Use dart 2.14 when testing Dart samples
* Update codegen to remove analysis errors in output
Co-authored-by: Peter Leibiger <kuhnroyal@gmail.com>
* Adding DocumentationProvider and SwaggerUI to Kotlin Spring
* Fixing annotation errors
* Fixes to homeController
* Minor stylistic fixes
* Removing parameter from docs
* Structuring pom, making gradle file similar to pom
* Updating samples