From 293066bb0d18cd5e6b25a6e1b98e7fbcbc4a9ec7 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 8 Jan 2019 21:32:51 +0800 Subject: [PATCH] add options to maven plugin (#1845) --- .../codegen/plugin/CodeGenMojo.java | 52 ++++++++++++++++--- .../codegen/config/CodegenConfigurator.java | 10 ++++ 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java b/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java index 695f6167397d..4bbb3b9c0eb1 100644 --- a/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java +++ b/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java @@ -145,12 +145,6 @@ public class CodeGenMojo extends AbstractMojo { @Parameter(name = "skipOverwrite", required = false) private Boolean skipOverwrite; - /** - * Specifies if the existing files should be overwritten during the generation. - */ - @Parameter(name = "removeOperationIdPrefix", required = false) - private Boolean removeOperationIdPrefix; - /** * The package to use for generated api objects/classes */ @@ -211,6 +205,36 @@ public class CodeGenMojo extends AbstractMojo { @Parameter(name = "ignoreFileOverride", required = false) private String ignoreFileOverride; + /** + * To remove operationId prefix (e.g. user_getName => getName) + */ + @Parameter(name = "removeOperationIdPrefix", required = false) + private Boolean removeOperationIdPrefix; + + /** + * To write all log messages (not just errors) to STDOUT + */ + @Parameter(name = "logToStderr", required = false) + private Boolean logToStderr; + + /** + * To file post-processing hook + */ + @Parameter(name = "enablePostProcessFile", required = false) + private Boolean enablePostProcessFile; + + /** + * To skip spec validation + */ + @Parameter(name = "skipValidateSpec", required = false) + private Boolean skipValidateSpec; + + /** + * To generate alias (array, map) as model + */ + @Parameter(name = "generateAliasAsModel", required = false) + private Boolean generateAliasAsModel; + /** * A map of language-specific parameters as passed with the -c option to the command line */ @@ -433,6 +457,22 @@ public void execute() throws MojoExecutionException { configurator.setIgnoreFileOverride(ignoreFileOverride); } + if (skipValidateSpec != null) { + configurator.setSkipOverwrite(skipValidateSpec); + } + + if (logToStderr != null) { + configurator.setLogToStderr(logToStderr); + } + + if (enablePostProcessFile != null) { + configurator.setEnablePostProcessFile(enablePostProcessFile); + } + + if (generateAliasAsModel != null) { + configurator.setGenerateAliasAsModel(generateAliasAsModel); + } + // TODO: After 3.0.0 release (maybe for 3.1.0): Fully deprecate lang. if (isNotEmpty(generatorName)) { configurator.setGeneratorName(generatorName); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java index 79176e84c6bd..8d88f0191ed9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java @@ -95,6 +95,7 @@ public class CodegenConfigurator implements Serializable { private boolean verbose; private boolean skipOverwrite; private boolean removeOperationIdPrefix; + private boolean logToStderr; private boolean validateSpec; private boolean enablePostProcessFile; private String templateDir; @@ -220,6 +221,15 @@ public CodegenConfigurator setEnablePostProcessFile(boolean enablePostProcessFil return this; } + public boolean getLogToStderr() { + return logToStderr; + } + + public CodegenConfigurator setLogToStderr(boolean logToStderrte) { + this.logToStderr = logToStderr; + return this; + } + public boolean isGenerateAliasAsModel() { return ModelUtils.isGenerateAliasAsModel(); }