* Upgrade PHPCS-Fixer to 3.5 version
This version requires PHP 7.4 or 8.0 which perfectly meets our supported
PHP right now.
* Rename config file to .php-cs-fixer.dist.php
This way it can be overwritten with local file(same name without "dist"
part). Also it's recommended filename from the package doc.
* Add PSR12 rule set to config
I've changed config file a bit to look like example from the doc.
Ref: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/HEAD/doc/config.rst
* Ignore new cache format
* Remove blank line after class opening
* Set constants in models public
* Refresh samples
* exclude query params when they are not required
* fix check on empty
* update samples
* fix
* add tests
* update test
* Fix style
I guess PHPCodeSniffer would find PSR12 violated but we use CS-Fixer
instead. Anyway, conditions should contain spaces between logical
operators for readability.
* Apply CS-Fixer changes to templates
* Refresh samples
* Add required param to docblock
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
* Update ObjectSerializer::toQueryValue method
It looks a bit ugly right now, but at least all tests has been passed.
* Add tests of query serialization
I used fixtures from OpenAPISpec main doc. Some prop combinations are not
officially documented yet, for instance behavior for nested objects and
arrays.
* Add test fixture from @nadar
* Add tests of Guzzle query build failure
* Add query build wrapper static method
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
* fixing precision for php
* remove a bracket
* handling whitespace
* format comment
* Use regexp to trim needless microseconds
That way we can save timezone suffix.
Co-authored-by: Carmen Quan <cquan@launchdarkly.com>
* Handle \SplFileObject before primitive(to avoid php8 settype() error)
* Add test case
* Add array check to fix type error
Code throws error:
array_key_exists() expects parameter 2 to be array, null given
When $httpHeaders argument is null.
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
Refs #3358
Ensure `deprecated` operations are annotated/documented as such on the
generated methods. Libraries updated:
* [feign]
* [google-api-client]
* [microprofile]
* [okhttp-gson]
* [resttemplate]
* [retrofit]
* [retrofit/play*]
* [webclient]
* [vertx]
Ensure `deprecated` schemas are annotated/documented as such on the
generated classes/fields. Libraries updated:
* [feign]
* [google-api-client]
* [jersey2]
* [microprofile]
* [native]
* [okhttp-gson]
* [rest-assured]
* [resteasy]
* [resttemplate]
* [retrofit*]
* [webclient]
* [vertx]
Also fix two minor bugs to get the java sample tests working:
* Fix an invalid jackson-datatype-threetenbp version number in vertx/pom.mustache
* Fix a bad return type in webclient/api_test.mustache when uniqueItems=true
Since this commit updates petstore-with-fake-endpoints-models-for-testing.yaml,
several other samples were updated, but it's just new files to reflect the
deprecated schemas, so there should be no consequential differences.
Relevant bits of the spec:
* https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#user-content-operationdeprecated
* https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#user-content-schemadeprecated