forked from loafle/openapi-generator-original
* [Slim4] Copy Slim3 generator as starting point * [Slim4] Add psr7Implementation generator option Slim supports PSR-7 interfaces for its Request and Response objects. Slim provides its own PSR-7 implementation so that it works out of the box. However, you are free to replace Slim’s default PSR-7 objects with a third-party implementation. [Ref] https://www.slimframework.com/docs/v4/concepts/value-objects.html * [Slim4] Handle psr7Implementation generator option It somehow ended up with composerPackages and composerDevPackages codegen variables and two additional functions. Hope, it's not too much. * [Slim4] Extend from Slim3 generator * [Slim4] Bump PHP Slim Framework version to 4.0.0 * [Slim4] Bump required PHP version to 7.1 [Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html) * [Slim4] Remove app settings Slim’s App settings used to be a part of the container and they have now been decoupled from it. [Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html) * [Slim4] Set container argument optional Slim uses an optional dependency container to prepare, manage, and inject application dependencies. Slim supports containers that implement PSR-11 like [PHP-DI](http://php-di.org/doc/frameworks/slim.html). [Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html) * [Slim4] Change response body write You can't write to response instance directly anymore, need to retrieve body object first. [Doc](https://www.slimframework.com/docs/v4/objects/response.html#the-response-body) * [Slim4] Change Slim\App constructor [Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html) * [Slim4] Refactor token authentication options User can provide array or Container as constructor argument from now. Small refactoring required to retrieve authentication options from that argument. * [Slim4] Add PSR-7 implementation codegen flags This approach seems more flexible to me. User can customize templates in favor of chosen PSR7 implementation. It's easier to change Composer packages and their versions. * [Slim4] Add JsonBodyParserMiddleware Slim4 doesn't parse JSON body, need to add suggested middleware. Ref: https://www.slimframework.com/docs/v4/objects/request.html#the-request-body * [Slim4] Remove request's deprecated methods usage Since Slim 4.0.0 ServerRequest implementation doesn't have getQueryParam and getParsedBodyParam methods anymore. * [Slim4] Use getUploadedFiles for multipart request isMultipart codegen property is always false so far. Hope that bug will be fixed soon. * [Slim4] Add samples
104 lines
3.2 KiB
Bash
Executable File
104 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# this bash script run the scripts for the 'mature' generators
|
|
# it ensures that all changes are committed into the 'samples/' folder
|
|
|
|
echo "# START SCRIPT: $0"
|
|
|
|
echo "IMPORTANT: this script should be run by the CI (e.g. Shippable) to ensure that the 'samples/' folder is up to date."
|
|
echo "Please press CTRL+C to stop or the script will continue in 5 seconds."
|
|
|
|
sleep 5
|
|
|
|
# LIST OF SCRIPTS:
|
|
declare -a scripts=(
|
|
# SAMPLES
|
|
"./bin/ruby-client-petstore.sh"
|
|
"./bin/ruby-client-petstore-faraday.sh"
|
|
"./bin/openapi3/ruby-client-petstore.sh"
|
|
"./bin/openapi3/ruby-client-faraday-petstore.sh"
|
|
|
|
"./bin/java-petstore-all.sh"
|
|
"./bin/java-jaxrs-petstore-server-all.sh"
|
|
"./bin/java-msf4j-petstore-server.sh"
|
|
"./bin/openapi3/jaxrs-jersey-petstore.sh"
|
|
"./bin/spring-all-petstore.sh"
|
|
"./bin/javascript-petstore-all.sh"
|
|
"./bin/kotlin-client-petstore-multiplatform.sh"
|
|
"./bin/kotlin-client-petstore.sh"
|
|
"./bin/kotlin-client-string.sh"
|
|
"./bin/kotlin-client-threetenbp.sh"
|
|
"./bin/kotlin-server-petstore.sh"
|
|
"./bin/kotlin-springboot-petstore-server.sh"
|
|
"./bin/kotlin-springboot-petstore-server-reactive.sh"
|
|
"./bin/mysql-schema-petstore.sh"
|
|
"./bin/nim-client-petstore.sh"
|
|
"./bin/python-petstore-all.sh"
|
|
"./bin/openapi3/python-petstore.sh"
|
|
"./bin/php-petstore.sh"
|
|
"./bin/php-silex-petstore-server.sh"
|
|
"./bin/php-symfony-petstore.sh"
|
|
"./bin/php-lumen-petstore-server.sh"
|
|
"./bin/php-slim-server-petstore.sh"
|
|
"./bin/php-slim4-server-petstore.sh"
|
|
"./bin/php-ze-ph-petstore-server.sh"
|
|
"./bin/openapi3/php-petstore.sh"
|
|
"./bin/typescript-angularjs-petstore.sh"
|
|
"./bin/typescript-angular-petstore-all.sh"
|
|
"./bin/typescript-aurelia-petstore.sh"
|
|
"./bin/typescript-axios-petstore-all.sh"
|
|
"./bin/typescript-fetch-petstore-all.sh"
|
|
"./bin/typescript-inversify-petstore.sh"
|
|
"./bin/typescript-jquery-petstore-all.sh"
|
|
"./bin/typescript-node-petstore-all.sh"
|
|
"./bin/typescript-rxjs-petstore-all.sh"
|
|
"./bin/rust-server-petstore.sh"
|
|
"./bin/r-petstore.sh"
|
|
"./bin/haskell-http-client-petstore.sh"
|
|
"./bin/csharp-petstore.sh"
|
|
"./bin/csharp-netcore-petstore-all.sh"
|
|
"./bin/elixir-petstore.sh"
|
|
"./bin/openapi3/go-petstore.sh"
|
|
"./bin/go-experimental-petstore.sh"
|
|
"./bin/go-petstore.sh"
|
|
"./bin/go-petstore-withxml.sh"
|
|
"./bin/go-gin-petstore-server.sh"
|
|
"./bin/groovy-petstore.sh"
|
|
"./bin/apex-petstore.sh"
|
|
"./bin/perl-petstore-all.sh"
|
|
"./bin/dart-jaguar-petstore.sh"
|
|
#"./bin/dart-dio-petstore.sh"
|
|
"./bin/dart-petstore.sh"
|
|
"./bin/dart2-petstore.sh"
|
|
"./bin/java-play-framework-petstore-server-all.sh"
|
|
"./bin/elm-petstore-all.sh"
|
|
"./bin/meta-codegen.sh"
|
|
# OTHERS
|
|
"./bin/utils/export_docs_generators.sh"
|
|
"./bin/utils/copy-to-website.sh"
|
|
"./bin/utils/export_generators_readme.sh")
|
|
|
|
export JAVA_OPTS="-Djava.awt.headless=true"
|
|
|
|
for script in "${scripts[@]}"; do
|
|
if eval $script > /dev/null 2>&1; then
|
|
echo "Executed $script successfully!"
|
|
else
|
|
echo "ERROR: Failed to run $script"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
# Check:
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
echo "UNCOMMITTED CHANGES ERROR"
|
|
echo "There are uncommitted changes in working tree after execution of 'bin/ensure-up-to-date'"
|
|
echo "Perform git diff"
|
|
git --no-pager diff
|
|
echo "Perform git status"
|
|
git status
|
|
echo "Please run 'bin/utils/ensure-up-to-date' locally and commit changes (UNCOMMITTED CHANGES ERROR)"
|
|
exit 1
|
|
else
|
|
echo "Git working tree is clean"
|
|
fi
|