* Adds UUID to python-exp, allows uuid models to be generated
* Adds test_UUIDString uuid model test
* Fixes uuid properties in python-exp, changes maps to object data type, adds uuid data type
* Adds maps data type back in
* Adds missing Null and AnyType definitions and adds them to python-experimental
* Generator docs updated, added missing uuid, null, anytype, and object
* Adds uuid support description
* Docs updated
* Revert "Revert "Has generators set default template engine (#11245)" (#11316)"
This reverts commit 57987424a4eaa22d73337388489cd86d7f42a023.
* Only loads in the default template engine if the config file contains the generatorName
* Only sets templatingEngineName using condif default in one place
* Adds config files that lack generatorName
* Revert "Adds config files that lack generatorName"
This reverts commit 7dafc93c0f02c037d9be5d2c0a3ee7377c8b479d.
* Adds generator default templating engine to the generator metadata
* Remove redundant operations
* Use logger correctly with object placeholders
* static compile of frequently used pattern
compile pattern ahead of time to reduce object creation and optimize
method
* Fix typo in method name
AutoRefactor cleanup 'AnnotationCleanUp' applied by erefactor:
Simplifies annotation uses:
- empty parentheses will be removed from annotations,
- single members named "value" will be removed from annotations and
only the value will be left.
For AutoRefactor see https://github.com/JnRouvignac/AutoRefactor
For erefactor see https://github.com/cal101/erefactor
* [maven] Fallback to templates using classpath rather than OS-specific paths
Previous checks would cause logic in Windows to return early, for
built-in templates only. This reorganizes and simplifies the ordering
behavior.
* Match classpath check in WorkflowSettings with that in TemplateManager
* [maven] Much needed unit/integration tests
This follows similar approach used in PMD and other plugins managed by
maven.
Unit tests simply verify we can load configuration as expected into the
Mojo.
Integration tests execute actual sample projects bound to the current
build's Maven plugin. This uses maven-invoker-plugin, which also allows
for specifying the maven options in invoker.properties to execute the test.
It also provides a verification framework using groovy files with the
required naming convention of "verify.groovy". This allows us to quickly
and easily check that certain files are outputted by generation, and we
may also spotcheck file contents.
templateResourcePath option is skipped on windows. I've tested back to
version 3.3.3 and this doesn't seem to have worked consistently with how
the property works on non-Windows.
* Set groovy 3.0.5 for test harness
* Print stacktrace on Maven error in Travis
* [maven] Set groovy version in tests to supported in Java 11+
* Puts maven integration tests in separate profile called 'integration'
* Adds example setting code in python-experimental with one fn setting example values
Fixes sample indentations
Handles composed schema models, object model and arraymodels
Adds brackets in arraymodel input
Sets modelName with map schemas
Removes included_schemas arguments, dicriminator examples do not include property examples
Refactors modelName into toExampleValueRecursive argument
Fixes bug where example models contained themselves
Stops using model ExampleGenerator examples because they are inconsistent with the ones in python-experimental
Uses example values if they exist
Removes single quotes from enum examples
Fixes password example
Adds commented our regex handling, commented out because it breaks
Handles AnyType schema examples
Adds x_example values for simple string properties, uses toExampleValue for all example generation
Adds examples for simple string parameters
Updates comments in toExampleValueBase
Fixes the double nested bug for AdditionalPropertiesWithArrayOfEnums
Fixes bug where NumberWithValidations had double nesting
Updates simple string examples in arrays
Fixes array string examples
Fixes example for string endpoint body example
Adds exampleFromStringOrArraySchema
Adds regex examples, pegs slf4j-version to v1.7.29 for rgxgen
Adds comment about regex seed
Updates pattern matcher to not handle ^ and $
Updates used sample values
Adds ensureQuotes
Adds ensureQuotes
Fixes double quote bug
Updates mustache file
Adds ensureQuotes to key handling
Adds modelNameToSchema map, reduces run time by using it
Fixes java tests
Regenerates python-experimental samples
Fixes python test
* Rebased on master
* Adds getModelNameToSchemaCache
* Updates toDefaultValue to not mutate schemas
* Has all dates and datetimes default and example setting use the same helper function
* Samples regenerated
* indentation tweak, removes txt from sample file
* Ensure CLI-level generator settings are available in additional properties
* Initial conversion to yaml configs
Configs prefix with 1- need to be manually evaluated.
* Add "other" configs not in ensure-up-to-date
* Add other/openapi3 files
* Cleanup all generation scripts
* Clean up: add missed configs and fix some openapi 3 diffs
* Move generate-samples script, error on batch failures
* Temporarily disable elm which requires skip validation of spec
* CI updates (todo: run all generators through appveyor or move to github workflows)
* Add success count to batch generation command output
* [samples] Regenerate
* Remove bin/windows
* Generate swift5 samples in bitrise
* Expand user input glob pattern
* Regenerate samples
* Update PR template
* Support config based generateAliasAsModel
* [samples] Regenerate
* [rust] Generate as alias for all samples configs
* [csharp] Move test staged file changes to in-directory
* Include "live" test files and ignore test cache files from samples.ci
* Remove concept of samples.ci staging
Generators support .openapi-generator-ignore, allowing maintainers to
explicitly ignore the regeneration of files which have been modified.
Note that the tooling does not overwrite test files whenever those files
exist, and it's not entirely necessary to add test files to the ignore
file.
* Re-add meta generator scripts
* Modify ensure-up-to-date to log stdout, so script does not look like it hangs on slower machines
* [csharp] Regenerate sample
* Set generateAliasAsModel CodegenConfigurator#toContext
This ensures the property (which is effectively a thread-local) gets set
as expected if the caller resets GlobalSettings as is done in the
GenerateBatch command.
* [rust] Regenerate samples
* Re-enable elm
* [java] Support OffsetDateTime example, fail ensures script on any generation error
* [samples] Regenerate
* Fix jersey2-java8 ignore file
* Fix elm spec validation
* Force UTC in sample generation to avoid timezone conflicts during generation (user vs ci)
Co-authored-by: William Cheng <wing328hk@gmail.com>