diff --git a/README.md b/README.md index c554426221f9..a5a077a7648f 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se **Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed, Qt5 QHTTPEngine), **Erlang**, **F#** (Giraffe), **Go** (net/http, Gin), **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, Jersey, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples)), **Kotlin** (Spring Boot, Ktor), **PHP** (Laravel, Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** ([Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), [Play](https://www.playframework.com/), Scalatra) **API documentation generators** | **HTML**, **Confluence Wiki** **Configuration files** | [**Apache2**](https://httpd.apache.org/) -**Others** | **GraphQL**, **JMeter**, **MySQL Schema** +**Others** | **GraphQL**, **JMeter**, **MySQL Schema**, **Protocol Buffer** ## Table of contents @@ -768,6 +768,7 @@ Here is a list of template creators: * Avro: @sgadouar * GraphQL: @wing328 [:heart:](https://www.patreon.com/wing328) * MySQL: @ybelenko + * Protocol Buffer: @wing328 :heart: = Link to support the contributor directly diff --git a/bin/grpc-schema-petstore.sh b/bin/protobuf-schema-petstore.sh similarity index 73% rename from bin/grpc-schema-petstore.sh rename to bin/protobuf-schema-petstore.sh index 0de5086d8b81..3c79de0a907e 100755 --- a/bin/grpc-schema-petstore.sh +++ b/bin/protobuf-schema-petstore.sh @@ -27,6 +27,6 @@ fi # if you've executed sbt assembly previously it will use that instead. export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@" -ags="generate -t modules/openapi-generator/src/main/resources/grpc-schema -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g grpc-schema -o samples/config/petstore/grpc-schema --additional-properties packageName=petstore $@" +ags="generate -t modules/openapi-generator/src/main/resources/protobuf-schema -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g protobuf-schema -o samples/config/petstore/protobuf-schema --additional-properties packageName=petstore $@" java $JAVA_OPTS -jar $executable $ags diff --git a/bin/windows/grpc-schema-petstore.bat b/bin/windows/protobuf-schema-petstore.bat similarity index 65% rename from bin/windows/grpc-schema-petstore.bat rename to bin/windows/protobuf-schema-petstore.bat index 968632451bab..089b714681e8 100755 --- a/bin/windows/grpc-schema-petstore.bat +++ b/bin/windows/protobuf-schema-petstore.bat @@ -5,6 +5,6 @@ If Not Exist %executable% ( ) REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -set ags=generate -t modules\openapi-generator\src\main\resources\grpc-schema -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g grpc-schema -o samples\config\petstore\grpc-schema +set ags=generate -t modules\openapi-generator\src\main\resources\protobuf-schema -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g protobuf-schema -o samples\config\petstore\protobuf-schema java %JAVA_OPTS% -jar %executable% %ags% diff --git a/docs/generators.md b/docs/generators.md index 81653653bb26..ad165bd203ea 100644 --- a/docs/generators.md +++ b/docs/generators.md @@ -132,7 +132,7 @@ The following generators are available: ## CONFIG generators * [apache2](generators/apache2) * [graphql-schema](generators/graphql-schema) -* [grpc-schema (beta)](generators/grpc-schema) +* [protobuf-schema (beta)](generators/protobuf-schema) diff --git a/docs/generators/protobuf-schema.md b/docs/generators/protobuf-schema.md new file mode 100644 index 000000000000..87507ed7c8f2 --- /dev/null +++ b/docs/generators/protobuf-schema.md @@ -0,0 +1,9 @@ + +--- +id: generator-opts-config-protobuf-schema +title: Config Options for protobuf-schema +sidebar_label: protobuf-schema +--- + +| Option | Description | Values | Default | +| ------ | ----------- | ------ | ------- | diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GrpcSchemaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java similarity index 97% rename from modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GrpcSchemaCodegen.java rename to modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java index 9e851d01a52a..93b7faf09e1b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GrpcSchemaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java @@ -41,9 +41,9 @@ import static org.openapitools.codegen.utils.StringUtils.camelize; import static org.openapitools.codegen.utils.StringUtils.underscore; -public class GrpcSchemaCodegen extends DefaultCodegen implements CodegenConfig { +public class ProtobufSchemaCodegen extends DefaultCodegen implements CodegenConfig { - private static final Logger LOGGER = LoggerFactory.getLogger(GrpcSchemaCodegen.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ProtobufSchemaCodegen.class); protected String packageName = "openapitools"; @@ -53,24 +53,24 @@ public CodegenType getTag() { } public String getName() { - return "grpc-schema"; + return "protobuf-schema"; } public String getHelp() { - return "Generates gRPC and Protbuf schema files (beta)"; + return "Generates gRPC and protocol buffer schema files (beta)"; } - public GrpcSchemaCodegen() { + public ProtobufSchemaCodegen() { super(); generatorMetadata = GeneratorMetadata.newBuilder(generatorMetadata) .stability(Stability.BETA) .build(); - outputFolder = "generated-code/grpc-schema"; + outputFolder = "generated-code/protobuf-schema"; modelTemplateFiles.put("model.mustache", ".proto"); apiTemplateFiles.put("api.mustache", ".proto"); - embeddedTemplateDir = templateDir = "grpc-schema"; + embeddedTemplateDir = templateDir = "protobuf-schema"; hideGenerationTimestamp = Boolean.TRUE; modelPackage = "messages"; apiPackage = "services"; diff --git a/modules/openapi-generator/src/main/resources/META-INF/services/org.openapitools.codegen.CodegenConfig b/modules/openapi-generator/src/main/resources/META-INF/services/org.openapitools.codegen.CodegenConfig index 03ba27260bb3..2f58fc98525c 100644 --- a/modules/openapi-generator/src/main/resources/META-INF/services/org.openapitools.codegen.CodegenConfig +++ b/modules/openapi-generator/src/main/resources/META-INF/services/org.openapitools.codegen.CodegenConfig @@ -34,7 +34,6 @@ org.openapitools.codegen.languages.GoServerCodegen org.openapitools.codegen.languages.GoGinServerCodegen org.openapitools.codegen.languages.GraphQLSchemaCodegen org.openapitools.codegen.languages.GraphQLNodeJSExpressServerCodegen -org.openapitools.codegen.languages.GrpcSchemaCodegen org.openapitools.codegen.languages.GroovyClientCodegen org.openapitools.codegen.languages.KotlinClientCodegen org.openapitools.codegen.languages.KotlinServerCodegen @@ -77,6 +76,7 @@ org.openapitools.codegen.languages.PhpSilexServerCodegen org.openapitools.codegen.languages.PhpSymfonyServerCodegen org.openapitools.codegen.languages.PhpZendExpressivePathHandlerServerCodegen org.openapitools.codegen.languages.PowerShellClientCodegen +org.openapitools.codegen.languages.ProtobufSchemaCodegen org.openapitools.codegen.languages.PythonClientCodegen org.openapitools.codegen.languages.PythonClientExperimentalCodegen org.openapitools.codegen.languages.PythonFlaskConnexionServerCodegen diff --git a/modules/openapi-generator/src/main/resources/grpc-schema/README.mustache b/modules/openapi-generator/src/main/resources/protobuf-schema/README.mustache similarity index 100% rename from modules/openapi-generator/src/main/resources/grpc-schema/README.mustache rename to modules/openapi-generator/src/main/resources/protobuf-schema/README.mustache diff --git a/modules/openapi-generator/src/main/resources/grpc-schema/api.mustache b/modules/openapi-generator/src/main/resources/protobuf-schema/api.mustache similarity index 100% rename from modules/openapi-generator/src/main/resources/grpc-schema/api.mustache rename to modules/openapi-generator/src/main/resources/protobuf-schema/api.mustache diff --git a/modules/openapi-generator/src/main/resources/grpc-schema/git_push.sh.mustache b/modules/openapi-generator/src/main/resources/protobuf-schema/git_push.sh.mustache similarity index 100% rename from modules/openapi-generator/src/main/resources/grpc-schema/git_push.sh.mustache rename to modules/openapi-generator/src/main/resources/protobuf-schema/git_push.sh.mustache diff --git a/modules/openapi-generator/src/main/resources/grpc-schema/gitignore.mustache b/modules/openapi-generator/src/main/resources/protobuf-schema/gitignore.mustache similarity index 100% rename from modules/openapi-generator/src/main/resources/grpc-schema/gitignore.mustache rename to modules/openapi-generator/src/main/resources/protobuf-schema/gitignore.mustache diff --git a/modules/openapi-generator/src/main/resources/grpc-schema/model.mustache b/modules/openapi-generator/src/main/resources/protobuf-schema/model.mustache similarity index 100% rename from modules/openapi-generator/src/main/resources/grpc-schema/model.mustache rename to modules/openapi-generator/src/main/resources/protobuf-schema/model.mustache diff --git a/modules/openapi-generator/src/main/resources/grpc-schema/partial_header.mustache b/modules/openapi-generator/src/main/resources/protobuf-schema/partial_header.mustache similarity index 100% rename from modules/openapi-generator/src/main/resources/grpc-schema/partial_header.mustache rename to modules/openapi-generator/src/main/resources/protobuf-schema/partial_header.mustache diff --git a/modules/openapi-generator/src/main/resources/grpc-schema/root.mustache b/modules/openapi-generator/src/main/resources/protobuf-schema/root.mustache similarity index 100% rename from modules/openapi-generator/src/main/resources/grpc-schema/root.mustache rename to modules/openapi-generator/src/main/resources/protobuf-schema/root.mustache diff --git a/samples/config/petstore/grpc-schema/.openapi-generator-ignore b/samples/config/petstore/protobuf-schema/.openapi-generator-ignore similarity index 100% rename from samples/config/petstore/grpc-schema/.openapi-generator-ignore rename to samples/config/petstore/protobuf-schema/.openapi-generator-ignore diff --git a/samples/config/petstore/grpc-schema/.openapi-generator/VERSION b/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION similarity index 100% rename from samples/config/petstore/grpc-schema/.openapi-generator/VERSION rename to samples/config/petstore/protobuf-schema/.openapi-generator/VERSION diff --git a/samples/config/petstore/grpc-schema/README.md b/samples/config/petstore/protobuf-schema/README.md similarity index 93% rename from samples/config/petstore/grpc-schema/README.md rename to samples/config/petstore/protobuf-schema/README.md index bc5a26a836d8..5e6b62f76b48 100644 --- a/samples/config/petstore/grpc-schema/README.md +++ b/samples/config/petstore/protobuf-schema/README.md @@ -7,7 +7,7 @@ These files were generated by the [OpenAPI Generator](https://openapi-generator. - API version: 1.0.0 - Package version: -- Build package: org.openapitools.codegen.languages.GrpcSchemaCodegen +- Build package: org.openapitools.codegen.languages.ProtobufSchemaCodegen ## Usage diff --git a/samples/config/petstore/grpc-schema/models/api_response.proto b/samples/config/petstore/protobuf-schema/models/api_response.proto similarity index 100% rename from samples/config/petstore/grpc-schema/models/api_response.proto rename to samples/config/petstore/protobuf-schema/models/api_response.proto diff --git a/samples/config/petstore/grpc-schema/models/category.proto b/samples/config/petstore/protobuf-schema/models/category.proto similarity index 100% rename from samples/config/petstore/grpc-schema/models/category.proto rename to samples/config/petstore/protobuf-schema/models/category.proto diff --git a/samples/config/petstore/grpc-schema/models/order.proto b/samples/config/petstore/protobuf-schema/models/order.proto similarity index 100% rename from samples/config/petstore/grpc-schema/models/order.proto rename to samples/config/petstore/protobuf-schema/models/order.proto diff --git a/samples/config/petstore/grpc-schema/models/pet.proto b/samples/config/petstore/protobuf-schema/models/pet.proto similarity index 100% rename from samples/config/petstore/grpc-schema/models/pet.proto rename to samples/config/petstore/protobuf-schema/models/pet.proto diff --git a/samples/config/petstore/grpc-schema/models/tag.proto b/samples/config/petstore/protobuf-schema/models/tag.proto similarity index 100% rename from samples/config/petstore/grpc-schema/models/tag.proto rename to samples/config/petstore/protobuf-schema/models/tag.proto diff --git a/samples/config/petstore/grpc-schema/models/user.proto b/samples/config/petstore/protobuf-schema/models/user.proto similarity index 100% rename from samples/config/petstore/grpc-schema/models/user.proto rename to samples/config/petstore/protobuf-schema/models/user.proto diff --git a/samples/config/petstore/grpc-schema/services/pet_service.proto b/samples/config/petstore/protobuf-schema/services/pet_service.proto similarity index 100% rename from samples/config/petstore/grpc-schema/services/pet_service.proto rename to samples/config/petstore/protobuf-schema/services/pet_service.proto diff --git a/samples/config/petstore/grpc-schema/services/store_service.proto b/samples/config/petstore/protobuf-schema/services/store_service.proto similarity index 100% rename from samples/config/petstore/grpc-schema/services/store_service.proto rename to samples/config/petstore/protobuf-schema/services/store_service.proto diff --git a/samples/config/petstore/grpc-schema/services/user_service.proto b/samples/config/petstore/protobuf-schema/services/user_service.proto similarity index 100% rename from samples/config/petstore/grpc-schema/services/user_service.proto rename to samples/config/petstore/protobuf-schema/services/user_service.proto