Skip to content

Commit dbf1cc0

Browse files
committed
Issue #7634: added template version option for swagger-codegen-cli module.
1 parent 6a53b60 commit dbf1cc0

File tree

6 files changed

+43
-0
lines changed

6 files changed

+43
-0
lines changed

modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public class Generate implements Runnable {
4646
protected String output = "";
4747
protected String spec;
4848
protected String templateDir;
49+
protected String templateVersion;
4950
protected String auth;
5051
protected List<String> systemProperties = new ArrayList<>();
5152
protected String configFile;
@@ -93,6 +94,10 @@ public void setTemplateDir(String templateDir) {
9394
this.templateDir = templateDir;
9495
}
9596

97+
public void setTemplateVersion(String templateVersion) {
98+
this.templateVersion = templateVersion;
99+
}
100+
96101
public void setAuth(String auth) {
97102
this.auth = auth;
98103
}
@@ -240,6 +245,10 @@ public void run() {
240245
configurator.setTemplateDir(templateDir);
241246
}
242247

248+
if (isNotEmpty(templateVersion)) {
249+
configurator.setTemplateVersion(templateVersion);
250+
}
251+
243252
if (isNotEmpty(apiPackage)) {
244253
configurator.setApiPackage(apiPackage);
245254
}

modules/swagger-codegen-cli/src/main/resources/oas3.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ components:
4545
description: "folder containing the template files"
4646
x-option: "--template-dir"
4747
x-short-version: "-t"
48+
templateVersion:
49+
type: "string"
50+
title: "template version"
51+
description: "version of the template used on generation."
52+
x-option: "--template-version"
4853
auth:
4954
type: "string"
5055
title: "authorization"

modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ public interface CodegenConfig {
4141

4242
String embeddedTemplateDir();
4343

44+
String getTemplateVersion();
45+
4446
String modelFileFolder();
4547

4648
String modelTestFileFolder();

modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConstants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class CodegenConstants {
2626
public static final String MODEL_PACKAGE_DESC = "package for generated models";
2727

2828
public static final String TEMPLATE_DIR = "templateDir";
29+
public static final String TEMPLATE_VERSION = "templateVersion";
2930

3031
public static final String ALLOW_UNICODE_IDENTIFIERS = "allowUnicodeIdentifiers";
3132
public static final String ALLOW_UNICODE_IDENTIFIERS_DESC = "boolean, toggles whether unicode identifiers are allowed in names or not, default is false";

modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ public class DefaultCodegen implements CodegenConfig {
106106
protected String templateDir;
107107
protected String embeddedTemplateDir;
108108
protected String commonTemplateDir = "_common";
109+
protected String templateVersion;
109110
protected Map<String, Object> additionalProperties = new HashMap<String, Object>();
110111
protected Map<String, Object> vendorExtensions = new HashMap<String, Object>();
111112
protected List<SupportingFile> supportingFiles = new ArrayList<SupportingFile>();
@@ -140,6 +141,10 @@ public void processOpts() {
140141
this.setTemplateDir((String) additionalProperties.get(CodegenConstants.TEMPLATE_DIR));
141142
}
142143

144+
if (additionalProperties.containsKey(CodegenConstants.TEMPLATE_VERSION)) {
145+
this.setTemplateVersion((String) additionalProperties.get(CodegenConstants.TEMPLATE_VERSION));
146+
}
147+
143148
if (additionalProperties.containsKey(CodegenConstants.MODEL_PACKAGE)) {
144149
this.setModelPackage((String) additionalProperties.get(CodegenConstants.MODEL_PACKAGE));
145150
}
@@ -490,6 +495,15 @@ public void setTemplateDir(String templateDir) {
490495
this.templateDir = templateDir;
491496
}
492497

498+
@Override
499+
public String getTemplateVersion() {
500+
return templateVersion;
501+
}
502+
503+
public void setTemplateVersion(String templateVersion) {
504+
this.templateVersion = templateVersion;
505+
}
506+
493507
public void setModelPackage(String modelPackage) {
494508
this.modelPackage = modelPackage;
495509
}

modules/swagger-codegen/src/main/java/io/swagger/codegen/config/CodegenConfigurator.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public class CodegenConfigurator implements Serializable {
4949
private boolean skipOverwrite;
5050
private boolean removeOperationIdPrefix;
5151
private String templateDir;
52+
private String templateVersion;
5253
private String auth;
5354
private String apiPackage;
5455
private String modelPackage;
@@ -176,6 +177,15 @@ public CodegenConfigurator setTemplateDir(String templateDir) {
176177
return this;
177178
}
178179

180+
public String getTemplateVersion() {
181+
return templateVersion;
182+
}
183+
184+
public CodegenConfigurator setTemplateVersion(String templateVersion) {
185+
this.templateVersion = templateVersion;
186+
return this;
187+
}
188+
179189
public String getAuth() {
180190
return auth;
181191
}
@@ -411,6 +421,7 @@ public ClientOptInput toClientOptInput() {
411421
checkAndSetAdditionalProperty(artifactId, CodegenConstants.ARTIFACT_ID);
412422
checkAndSetAdditionalProperty(artifactVersion, CodegenConstants.ARTIFACT_VERSION);
413423
checkAndSetAdditionalProperty(templateDir, toAbsolutePathStr(templateDir), CodegenConstants.TEMPLATE_DIR);
424+
checkAndSetAdditionalProperty(templateVersion, CodegenConstants.TEMPLATE_VERSION);
414425
checkAndSetAdditionalProperty(modelNamePrefix, CodegenConstants.MODEL_NAME_PREFIX);
415426
checkAndSetAdditionalProperty(modelNameSuffix, CodegenConstants.MODEL_NAME_SUFFIX);
416427
checkAndSetAdditionalProperty(gitUserId, CodegenConstants.GIT_USER_ID);
@@ -470,6 +481,7 @@ public ClientOptInput toClientOptInput(String content) {
470481
checkAndSetAdditionalProperty(artifactId, CodegenConstants.ARTIFACT_ID);
471482
checkAndSetAdditionalProperty(artifactVersion, CodegenConstants.ARTIFACT_VERSION);
472483
checkAndSetAdditionalProperty(templateDir, toAbsolutePathStr(templateDir), CodegenConstants.TEMPLATE_DIR);
484+
checkAndSetAdditionalProperty(templateVersion, CodegenConstants.TEMPLATE_VERSION);
473485
checkAndSetAdditionalProperty(modelNamePrefix, CodegenConstants.MODEL_NAME_PREFIX);
474486
checkAndSetAdditionalProperty(modelNameSuffix, CodegenConstants.MODEL_NAME_SUFFIX);
475487
checkAndSetAdditionalProperty(gitUserId, CodegenConstants.GIT_USER_ID);

0 commit comments

Comments
 (0)