* 🐛 Fixing some issues with threading and NPE
After running Sonar on the master branch, some major analysis
opportunities were displayed.
This fixes the use of SimpleDateFormat stored as static fields.
SimpleDateFormat is not thread-safe, and may retain data across threads.
While there's no indicator that this has caused any issues (these are
mostly used for example code), we should follow these best practices.
This also fixes a handful of NPE and other minor issues such as
comparing Boolean.TRUE to strings and no wrapping some closeables in
try-with-resources.
* [cli] Unit test GenerateBatch custom deserialization helper
* Quiet batch mode in sonar.yml
* Suppress unnecessary warnings (ThreadLocals in static fields)
* fix go compilation error for properties of type map and array
* fix go compilation error for properties of type date and datetime
* add missing shell script to bin/utils/ensure-up-to-date
* add missing shell script to bin/utils/ensure-up-to-date
* add missing shell script to bin/utils/ensure-up-to-date
* fix issue with 'date' type
* fix time import problem
* Add missing pom.xml files for golang
* Add missing unit test files for golang
* Add missing unit test files for golang. Must use class name prefix for enums
* Fix unit tests for go-experimental in OAS3
* Fix unit tests for go-experimental in OAS3
* Add code comments in codegen
* Fix compilation errors of generated go code
* Fix compilation errors of generated go code
* remove antihax from go-experimental, it is no longer used
* copy python testfile for ut purpose
* add error checkout in unit tests
* add unit tests
* add code comments
* move test foo.png file to correct location
* run samples scripts
* run samples scripts
* [swift5] introduce new generator
* [swift5] add Swift Package Manager integration and update dependencies
* [swift5] run petstore
* [swift] update Swift 5 generator with Swift 4 changes
* [swift] update Swift 5 generator with Swift 4 changes
* [swift] make CodableHelper more customizable
* [swift] update pet projects
* [swift] update pet projects
* [swift] add nullable support
* [swift] make enums conform to CaseIterable
* [swift] date formatter add support for ISO8601 with and without milliseconds
* [swift] add urlsession support
* [swift] remove unecessary sample unwrapRequired
* [swift] rename JSONEncodableEncoding.swift to JSONDataEncoding.swift
* [swift] use result in generator internals
* [swift] cocoapods remove deprecated docset_url and add watchos deployment target
* [swift] Add ability to pass in a dedicated queue for processing network response (Fix for 230)
* [swift] update pet projects
* [swift] update docs
* [swift] add support for combine
* [swift] update docs
* [swift] update windows bat scripts
* [swift] update windows bat scripts
* [swift] update swift pet project tests
* [swift] update depencies
* [swift] make urlsession the default http client
* [swift] add urlsession sample project
* [swift] add urlsession sample project
* [swift] update docs
* [swift] improve combine unit tests
* [swift] update docs
* [Kotlin] enumPropertyNaming UPPERCASE should separate words with _
* Add unit cases for issue 4062
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Switches python generators to use pytest, useNose CLI option added if to allow nose to be used instead
* Adds ensure-up-to-date changes
* Adds setup.cfg to python clients so we can configure nose when useNose=true
* Adds fix for python-aiohttp testing, adds files missing from ensure-up-to-date
* Added new cli option to define the request date converter
* Fixed a few build errors
* Update api.mustache
* Fixed api mustache
* Removed unused import
* Fixing mustache templates
* Tweaking mustache templates
* Added sample and new bat file
TODO create new openapi 2.0 source file to simulate the datestring via schema.
* Tweaking mustache templates
* Updated templates and samples
* Fixed build error
* Updated samples
* Fixed path
* run all script in circleci
* test kotlin clients
* add new files
* undo chanages to circleci script
* update samples
* update bitwise config
* fix typo
* Some clean code.
* Add support for retrofit2 in models and apis. Need work in ApiClient, but it's not urgent.
* Add ApiClient with retrofit2 support.
* Remove unnecessary package.
* Add scripts to generate samples.
* Generate sample of retrofit2
* Change toUpperCase to toUpperCase(Locale.ROOT) to fix compile.
* Added GSON library when it's needed
* Fix typo.
* Add some missing common files.
* Execute bin script.
* Remove copy&paste error in script.
* [kotlin] update outdated files
* Fix apis with no params.
* Add missing import in ApiClient
* Add support for CSV, SSV, TSV, PIPES, SPACES in retrofit 2 library.
* Fix package name.
* Execute kotlin-client-retrofit2.sh script.
* force rebuild.
* execute script again.
* Add missing imports from okhttp3.
@Deprecated has a message param that java not. Add it with a default message.
* Execute retrofit2 script.
* Rerun script.
* [swift] introduce result type as response library
* iOS - run petstore samples
* [swift4] add result sample to testing pipeline
* [swift] update docs with result type
* [swift] update result visibility
* [swift] update docs
* [swift] implement non public api
* [swift] add petstore for non public api
* [swift] fix error in extension that cannot be internal
* [swift] update docs
* Initial work on a redux-query client generator.
* Update to match the required redux-query version w/ fixed TS defs.
* Fixes for query parameters, add samples.
* Add windows versions of redux-query scripts.
* Fix for form data handling.
* Initial work on multiple inheritance support.
* Tweaks for discriminator usage + from/to JSON.
* Fix initialization of queryParameters if needed.
* Copy over more QueryConfig values into the final generated QueryConfig.
* Fix for imports that are combined types.
* Validation script batches only samples
In this change, the validation script will batch only sample generation.
For meta and documentation, it will always be iterative.
Also made changes to meta-codegen*.sh so conditionals which may invoke
maven are explicitly rooted.
* [ci] batch python-experimental, include new springboot option
bin/elm-petstore-all.sh invokes elm-petstore.sh and
elm-0.18-petstore.sh. Both of these define `ELM_POST_PROCESS_FILE` for
post-processing the generated files. If a user doesn't have elm-format
installed, they may not realize that ensure-up-to-date has failed which
causes CI to fail due to differences in the ELM generated outputs.
This confusion can lead to a lot of downtime for contributors. For
example, I encountered this while adding feature set information to all
generators. I thought I had introduced the error and spent too long
looking through my changeset and re-running `ensure-up-to-date`
in the background before noticing the failed output. I was able to
generate proper output by installing elm-format. With 80+ languages/frameworks
and a rule for contributors to unblock CI by re-generating any failed
samples, it's not feasible (in some cases, not possible) to ask
contributors to install tooling specific post-processors. We'll have to
rely on elm contributors to run the script manually.
Ideally, elm generator templates should be updated to have properly
formatted outputs as a default.
We may want to consider documenting standards of what we put in the
scripts under bin/*sh and bin/utils/ensure-up-to-date, one of those
standards being that we omit toolchain specific post-processors.
* Added new additional parameter to allow nullable api return types
* Tweaking samples and .bat files
I've added new .bat files for the kotlin-client to alllow windows-devs to re-generate required samples via windows-shell (for CI).