From 98afbe062bd01a59273ea58aca16dfbe8dbebf22 Mon Sep 17 00:00:00 2001
From: Vincent Devos <46601673+karismann@users.noreply.github.com>
Date: Sat, 11 May 2019 05:10:25 +0200
Subject: [PATCH] [GROOVY] update client generator to a stable version (#2847)
* [GROOVY] update client generator to a stable version
* fix tab
* fix remove using invokerPackage
* fix test
---
bin/utils/ensure-up-to-date | 1 +
docs/generators/groovy.md | 1 -
.../languages/AbstractJavaCodegen.java | 4 -
.../languages/GroovyClientCodegen.java | 43 ++--
.../main/resources/Groovy/ApiUtils.mustache | 44 +++--
.../src/main/resources/Groovy/README.mustache | 62 ++++++
.../src/main/resources/Groovy/api.mustache | 77 ++++++--
.../resources/Groovy/build.gradle.mustache | 19 +-
.../src/main/resources/Groovy/model.mustache | 5 +-
pom.xml | 9 +-
samples/client/petstore/groovy/README.md | 48 +++++
samples/client/petstore/groovy/build.gradle | 19 +-
.../org/openapitools/api/ApiUtils.groovy | 44 +++--
.../groovy/org/openapitools/api/PetApi.groovy | 185 +++++++++++++-----
.../org/openapitools/api/StoreApi.groovy | 75 ++++---
.../org/openapitools/api/UserApi.groovy | 169 +++++++++++-----
.../org/openapitools/model/Category.groovy | 4 +-
.../model/ModelApiResponse.groovy | 6 +-
.../org/openapitools/model/Order.groovy | 11 +-
.../groovy/org/openapitools/model/Pet.groovy | 11 +-
.../groovy/org/openapitools/model/Tag.groovy | 4 +-
.../groovy/org/openapitools/model/User.groovy | 15 +-
.../groovy/openapitools/PetApiTest.groovy | 119 +++++++++++
23 files changed, 709 insertions(+), 266 deletions(-)
create mode 100644 modules/openapi-generator/src/main/resources/Groovy/README.mustache
create mode 100644 samples/client/petstore/groovy/README.md
create mode 100644 samples/client/petstore/groovy/src/test/groovy/openapitools/PetApiTest.groovy
diff --git a/bin/utils/ensure-up-to-date b/bin/utils/ensure-up-to-date
index 11d19b0e8ab..c2e38093de4 100755
--- a/bin/utils/ensure-up-to-date
+++ b/bin/utils/ensure-up-to-date
@@ -52,6 +52,7 @@ declare -a scripts=(
"./bin/elixir-petstore.sh"
"./bin/go-petstore.sh"
"./bin/go-gin-petstore-server.sh"
+"./bin/groovy-petstore.sh"
#"./bin/elm-petstore-all.sh"
"./bin/meta-codegen.sh"
# OTHERS
diff --git a/docs/generators/groovy.md b/docs/generators/groovy.md
index 7719a72dcc9..16d4e284a1e 100644
--- a/docs/generators/groovy.md
+++ b/docs/generators/groovy.md
@@ -42,4 +42,3 @@ sidebar_label: groovy
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentVersion|parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|snapshotVersion|Uses a SNAPSHOT version.|
- **true**
- Use a SnapShot Version
- **false**
- Use a Release Version
|null|
-|configPackage|configuration package for generated code| |org.openapitools.configuration|
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java
index 6a1f6460ea9..3c4ec0102c8 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java
@@ -978,10 +978,6 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
}
}
- @Override
- public void postProcessParameter(CodegenParameter parameter) {
- }
-
@Override
public Map postProcessModels(Map objs) {
// recursively add import for mapping one type to multiple imports
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GroovyClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GroovyClientCodegen.java
index 90647b83299..94332fed9d8 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GroovyClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GroovyClientCodegen.java
@@ -17,20 +17,16 @@
package org.openapitools.codegen.languages;
-import org.openapitools.codegen.CliOption;
-import org.openapitools.codegen.CodegenConstants;
-import org.openapitools.codegen.CodegenType;
-import org.openapitools.codegen.SupportingFile;
+import org.openapitools.codegen.*;
import java.io.File;
+import java.util.List;
+import java.util.Map;
import static org.openapitools.codegen.utils.StringUtils.camelize;
public class GroovyClientCodegen extends AbstractJavaCodegen {
- public static final String CONFIG_PACKAGE = "configPackage";
- protected String title = "Petstore Server";
- protected String configPackage = "org.openapitools.configuration";
public GroovyClientCodegen() {
super();
@@ -60,18 +56,14 @@ public class GroovyClientCodegen extends AbstractJavaCodegen {
artifactId = "openapi-groovy";
dateLibrary = "legacy"; //TODO: add joda support to groovy
- // clioOptions default redifinition need to be updated
+ // clioOptions default redefinition need to be updated
updateOption(CodegenConstants.SOURCE_FOLDER, this.getSourceFolder());
updateOption(CodegenConstants.INVOKER_PACKAGE, this.getInvokerPackage());
updateOption(CodegenConstants.ARTIFACT_ID, this.getArtifactId());
updateOption(CodegenConstants.API_PACKAGE, apiPackage);
updateOption(CodegenConstants.MODEL_PACKAGE, modelPackage);
- updateOption(this.DATE_LIBRARY, this.getDateLibrary());
+ updateOption(DATE_LIBRARY, this.getDateLibrary());
- additionalProperties.put("title", title);
- additionalProperties.put(CONFIG_PACKAGE, configPackage);
-
- cliOptions.add(new CliOption(CONFIG_PACKAGE, "configuration package for generated code").defaultValue(this.configPackage));
}
@Override
@@ -86,25 +78,32 @@ public class GroovyClientCodegen extends AbstractJavaCodegen {
@Override
public String getHelp() {
- return "Generates a Groovy API client (beta).";
+ return "Generates a Groovy API client.";
}
@Override
public void processOpts() {
super.processOpts();
- if (additionalProperties.containsKey(CONFIG_PACKAGE)) {
- this.setConfigPackage((String) additionalProperties.get(CONFIG_PACKAGE));
- }
-
supportingFiles.add(new SupportingFile("build.gradle.mustache", "", "build.gradle"));
- // TODO readme to be added later
- //supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
+ supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
supportingFiles.add(new SupportingFile("ApiUtils.mustache",
(sourceFolder + File.separator + apiPackage).replace(".", java.io.File.separator), "ApiUtils.groovy"));
}
+ @Override
+ public Map postProcessOperationsWithModels(Map operations, List