Descriptions can easily exceed line-length limits because they are often
extracted from doc/comments strings, which may use unexpected formatting.
Python doc strings, in particular, are likely to use newlines, which mustache
does not preserve, causing descriptions to be condensed to a single line.
* [Ruby] Test correct escaping of pattern sequences
Ruby is not correctly escaping pattern sequences containing forward
slashes in their definition. This commit adds tests that verify the
correct behaviour of the code generator.
See issue #5582.
* [Ruby] Correctly escape patterns containing forward slashes
Ruby regexs are always generated as match patterns enclosed in slash
characters (i.e. using the `/pattern/` syntax). Regular expressions
defined in the OpenAPI declaration via the `pattern` attribute follow
[ECMA 262](https://262.ecma-international.org/5.1/#sec-15.10.1) which
means they already include the correct escaping of forward slashes as
far as Ruby is concerned.
The current Ruby codegen is incorrectly escaping all forward slashes,
which ultimately causes the generated code to include additional
incorrect escape sequences which cause the generated file to have an
invalid syntax.
This commit ports the same fix introduced in #1539 for the Python
codegen, as both Ruby and Python use perl-flavored regular expressions
so they behave in the same way when it comes to escaping forward
slashes.
Fixes#5582.
* started source generator
* copy the options
* fixed visibility
* added new sample
* discarded changes to existing samples
* discarded changes to existing samples
* build new sample
* changed package name due to file path length limit
* reverted changes to manual tests
* fixed all new manual tests
* inject contexts into api
* only one JsonConstructor
* fixed spacing
* revert samples for easier merge master
* revert unnecessary change
* fixed formatting
* build samples
* reverting unintended commit
* fixing default value
* reverting unintended commit
* move minor formatting changes to different pr
* php-nextgen first commit
* [php] Set minimal PHP version to ^8.0 (#14500)
* Set minimal PHP version to ^8.0
* Fix php-nextgen config
* Change stability to BETA
* Add phplint package (#15054)
* [php-nextgen] Rename folders to follow PDS skeleton (#15102)
* Change lib -> src, test -> tests folder
This will make build compliant to PHP-PDS skeleton.
Ref: https://github.com/php-pds/skeleton
* Refresh samples
* Exclude composer.lock from codebase (#15105)
Since client generator is library and not a project it makes sense
to exclude composer.lock from codebase by default.
Ref: http://getcomposer.org/doc/02-libraries.md#lock-file
* Add @generated tag to DocBlocks (#15106)
This tag in draft status right now(PSR-19), but I think we can leverage
from it already.
Ref: https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc-tags.md#55-generated
* update samples, doc
* update samples
---------
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
* python: several typing and style improvements
The generated (python) code fails with several standard validation tools,
including `flake8`, `mypy`, and `autoflake`. While fixing every possible
violation -- especially wrto typing -- woudl be a project, some of the
changes are fairly easy.
- The `autoflake` tool picks up on unused imports. These can just be removed.
- The `mypy` tool picks up on numerious typing violations, especially if set
to its strictest mode. As a starting point, all functions ought to annotate
a return type, including constructors, even if the return type is `None`
because otherwise the functions are omitted from type checking and it's
impossible to make incremental progress towards adding types.
- The `flake8` tool mostly finds whitespace and line-length issues; while
line-length standards very, the source already includes several flake8
ignores, so it seems safe to add a few more.
* Add generated files
* Restore imports used by `AbstractPythonCodegen.java`
* Update generated files
* bug: python client generator didn't respect range response specification (e.g. "1XX", "2XX", etx.). Return values tended to become None as a result
* update samples
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* fix cast exception when handling uuid example/default
* more cast exception fix
* better fix in example generator
* better code format
* better code format
* make Java imports overridable
* fix for other dateLibraries
* complete core fix
* adapt test - step 1/2
* add unit test
* adapt test - step 2/2
* remove accidentally added file
* final small clean-up
* fix: Using Map.Entry to avoid "reference to Entry is ambiguous"
when spec defines a model Entry it conflicts. Also rest of mustache
uses Map.Entry to matching it
* fix: Map.Entry - update samples
* regenerate tests in jersey2-java8 client
* update samples
* fix java google api client tests
* update java resteasy to use v3 spec for tests
* update java vertx to test with v3 spec
* update java resttemplate to test with v3 spec
* add new files
* regenerate jersey1 tests