[Java] adds snapshotVersion CLI option and uses API version as artifactVersion by default (#2033)

* [Java]: adds snapshotVersion CLI option and uses API version as artifactVersion by default

* fix some typos

* fix naming diff between branches

* ensure-up-to-date

* update samples
This commit is contained in:
Pablo Lázaro 2019-02-18 10:54:27 +01:00 committed by William Cheng
parent 8d5b600277
commit ad8aa7dc0e
19 changed files with 107 additions and 1 deletions

View File

@ -41,4 +41,5 @@ sidebar_label: groovy
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|configPackage|configuration package for generated code| |null| |configPackage|configuration package for generated code| |null|

View File

@ -41,3 +41,4 @@ sidebar_label: java-inflector
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|

View File

@ -41,6 +41,7 @@ sidebar_label: java-msf4j
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|implFolder|folder for generated implementation code| |null| |implFolder|folder for generated implementation code| |null|
|title|a title describing the application| |null| |title|a title describing the application| |null|
|useBeanValidation|Use BeanValidation API annotations| |true| |useBeanValidation|Use BeanValidation API annotations| |true|

View File

@ -41,6 +41,7 @@ sidebar_label: java-pkmst
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|groupId|groupId in generated pom.xml| |null| |groupId|groupId in generated pom.xml| |null|
|artifactId|artifactId in generated pom.xml| |null| |artifactId|artifactId in generated pom.xml| |null|
|artifactVersion|artifact version in generated pom.xml| |null| |artifactVersion|artifact version in generated pom.xml| |null|

View File

@ -41,6 +41,7 @@ sidebar_label: java-play-framework
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|title|server title name or client service name| |null| |title|server title name or client service name| |null|
|configPackage|configuration package for generated code| |null| |configPackage|configuration package for generated code| |null|
|basePackage|base package for generated code| |null| |basePackage|base package for generated code| |null|

View File

@ -41,3 +41,4 @@ sidebar_label: java-undertow-server
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|

View File

@ -41,5 +41,6 @@ sidebar_label: java-vertx
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|rxInterface|When specified, API interfaces are generated with RX and methods return Single<> and Comparable.| |false| |rxInterface|When specified, API interfaces are generated with RX and methods return Single<> and Comparable.| |false|
|vertxSwaggerRouterVersion|Specify the version of the swagger router library| |null| |vertxSwaggerRouterVersion|Specify the version of the swagger router library| |null|

View File

@ -41,6 +41,7 @@ sidebar_label: java
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|useRxJava|Whether to use the RxJava adapter with the retrofit2 library.| |false| |useRxJava|Whether to use the RxJava adapter with the retrofit2 library.| |false|
|useRxJava2|Whether to use the RxJava2 adapter with the retrofit2 library.| |false| |useRxJava2|Whether to use the RxJava2 adapter with the retrofit2 library.| |false|
|parcelableModel|Whether to generate models for Android that implement Parcelable with the okhttp-gson library.| |false| |parcelableModel|Whether to generate models for Android that implement Parcelable with the okhttp-gson library.| |false|

View File

@ -41,6 +41,7 @@ sidebar_label: jaxrs-cxf-cdi
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|implFolder|folder for generated implementation code| |null| |implFolder|folder for generated implementation code| |null|
|title|a title describing the application| |null| |title|a title describing the application| |null|
|useBeanValidation|Use BeanValidation API annotations| |true| |useBeanValidation|Use BeanValidation API annotations| |true|

View File

@ -41,6 +41,7 @@ sidebar_label: jaxrs-cxf-client
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|useBeanValidation|Use BeanValidation API annotations| |false| |useBeanValidation|Use BeanValidation API annotations| |false|
|useGzipFeatureForTests|Use Gzip Feature for tests| |false| |useGzipFeatureForTests|Use Gzip Feature for tests| |false|
|useLoggingFeatureForTests|Use Logging Feature for tests| |false| |useLoggingFeatureForTests|Use Logging Feature for tests| |false|

View File

@ -41,6 +41,7 @@ sidebar_label: jaxrs-cxf
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|implFolder|folder for generated implementation code| |null| |implFolder|folder for generated implementation code| |null|
|title|a title describing the application| |null| |title|a title describing the application| |null|
|useBeanValidation|Use BeanValidation API annotations| |true| |useBeanValidation|Use BeanValidation API annotations| |true|

View File

@ -41,6 +41,7 @@ sidebar_label: jaxrs-jersey
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|implFolder|folder for generated implementation code| |null| |implFolder|folder for generated implementation code| |null|
|title|a title describing the application| |null| |title|a title describing the application| |null|
|useBeanValidation|Use BeanValidation API annotations| |true| |useBeanValidation|Use BeanValidation API annotations| |true|

View File

@ -41,6 +41,7 @@ sidebar_label: jaxrs-resteasy-eap
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|implFolder|folder for generated implementation code| |null| |implFolder|folder for generated implementation code| |null|
|title|a title describing the application| |null| |title|a title describing the application| |null|
|useBeanValidation|Use BeanValidation API annotations| |true| |useBeanValidation|Use BeanValidation API annotations| |true|

View File

@ -41,6 +41,7 @@ sidebar_label: jaxrs-resteasy
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|implFolder|folder for generated implementation code| |null| |implFolder|folder for generated implementation code| |null|
|title|a title describing the application| |null| |title|a title describing the application| |null|
|useBeanValidation|Use BeanValidation API annotations| |true| |useBeanValidation|Use BeanValidation API annotations| |true|

View File

@ -41,6 +41,7 @@ sidebar_label: jaxrs-spec
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|implFolder|folder for generated implementation code| |null| |implFolder|folder for generated implementation code| |null|
|title|a title describing the application| |null| |title|a title describing the application| |null|
|useBeanValidation|Use BeanValidation API annotations| |true| |useBeanValidation|Use BeanValidation API annotations| |true|

View File

@ -41,6 +41,7 @@ sidebar_label: spring
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |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| |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.| |null|
|title|server title name or client service name| |null| |title|server title name or client service name| |null|
|configPackage|configuration package for generated code| |null| |configPackage|configuration package for generated code| |null|
|basePackage|base package (invokerPackage) for generated code| |null| |basePackage|base package (invokerPackage) for generated code| |null|

View File

@ -289,4 +289,8 @@ public class CodegenConstants {
public static final String USE_COMPARE_NET_OBJECTS = "useCompareNetObjects"; public static final String USE_COMPARE_NET_OBJECTS = "useCompareNetObjects";
public static final String USE_COMPARE_NET_OBJECTS_DESC = "Use KellermanSoftware.CompareNetObjects for deep recursive object comparison. WARNING: this option incurs potential performance impact."; public static final String USE_COMPARE_NET_OBJECTS_DESC = "Use KellermanSoftware.CompareNetObjects for deep recursive object comparison. WARNING: this option incurs potential performance impact.";
public static final String SNAPSHOT_VERSION = "snapshotVersion";
public static final String SNAPSHOT_VERSION_DESC = "Uses a SNAPSHOT version.";
} }

View File

@ -191,6 +191,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
cliOptions.add(CliOption.newString(CodegenConstants.PARENT_GROUP_ID, CodegenConstants.PARENT_GROUP_ID_DESC)); cliOptions.add(CliOption.newString(CodegenConstants.PARENT_GROUP_ID, CodegenConstants.PARENT_GROUP_ID_DESC));
cliOptions.add(CliOption.newString(CodegenConstants.PARENT_ARTIFACT_ID, CodegenConstants.PARENT_ARTIFACT_ID_DESC)); cliOptions.add(CliOption.newString(CodegenConstants.PARENT_ARTIFACT_ID, CodegenConstants.PARENT_ARTIFACT_ID_DESC));
cliOptions.add(CliOption.newString(CodegenConstants.PARENT_VERSION, CodegenConstants.PARENT_VERSION_DESC)); cliOptions.add(CliOption.newString(CodegenConstants.PARENT_VERSION, CodegenConstants.PARENT_VERSION_DESC));
cliOptions.add(CliOption.newString(CodegenConstants.SNAPSHOT_VERSION, CodegenConstants.SNAPSHOT_VERSION_DESC));
} }
@Override @Override
@ -264,11 +265,21 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
if (additionalProperties.containsKey(CodegenConstants.ARTIFACT_VERSION)) { if (additionalProperties.containsKey(CodegenConstants.ARTIFACT_VERSION)) {
this.setArtifactVersion((String) additionalProperties.get(CodegenConstants.ARTIFACT_VERSION)); this.setArtifactVersion((String) additionalProperties.get(CodegenConstants.ARTIFACT_VERSION));
} else if (this.getVersionFromSpecification() != null) {
this.setArtifactVersion(this.getVersionFromSpecification());
} else { } else {
//not set, use to be passed to template //not set, use to be passed to template
additionalProperties.put(CodegenConstants.ARTIFACT_VERSION, artifactVersion); additionalProperties.put(CodegenConstants.ARTIFACT_VERSION, artifactVersion);
} }
if (additionalProperties.containsKey(CodegenConstants.SNAPSHOT_VERSION)) {
Boolean useSnapshotVersion = Boolean.valueOf((String) additionalProperties.get(CodegenConstants.SNAPSHOT_VERSION));
if (useSnapshotVersion) {
this.setArtifactVersion(this.buildSnapshotVersion(this.artifactVersion));
}
}
if (additionalProperties.containsKey(CodegenConstants.ARTIFACT_URL)) { if (additionalProperties.containsKey(CodegenConstants.ARTIFACT_URL)) {
this.setArtifactUrl((String) additionalProperties.get(CodegenConstants.ARTIFACT_URL)); this.setArtifactUrl((String) additionalProperties.get(CodegenConstants.ARTIFACT_URL));
} else { } else {
@ -1340,6 +1351,29 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
return sb.toString(); return sb.toString();
} }
/**
* Gets version from API specification.
*
* @return API version
*/
private String getVersionFromSpecification () {
if (this.openAPI != null && this.openAPI.getInfo() != null) {
return this.openAPI.getInfo().getVersion();
} else {
return null;
}
}
/**
* Builds a SNAPSHOT version from a given version.
*
* @param version
* @return SNAPSHOT version
*/
private String buildSnapshotVersion (String version) {
return version + "-" + "SNAPSHOT";
}
public void setSupportJava6(boolean value) { public void setSupportJava6(boolean value) {
this.supportJava6 = value; this.supportJava6 = value;
} }

View File

@ -199,6 +199,52 @@ public class AbstractJavaCodegenTest {
Assert.assertEquals(codegen.apiDocFileFolder(), "/User/open.api.tools/docs/".replace('/', File.separatorChar)); Assert.assertEquals(codegen.apiDocFileFolder(), "/User/open.api.tools/docs/".replace('/', File.separatorChar));
} }
@Test(description = "tests if API version specification is used if no version is provided in additional properties")
public void openApiversionTest() {
final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();
OpenAPI api = TestUtils.createOpenAPI();
codegen.setOpenAPI(api);
codegen.processOpts();
Assert.assertEquals(codegen.getArtifactVersion(), "1.0.7");
}
@Test(description = "tests if artifactVersion additional property is used")
public void additionalPropertyArtifactVersionTest() {
final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();
codegen.additionalProperties().put("artifactVersion", "1.1.1");
OpenAPI api = TestUtils.createOpenAPI();
codegen.setOpenAPI(api);
codegen.processOpts();
Assert.assertEquals(codegen.getArtifactVersion(), "1.1.1");
}
@Test(description = "tests if default version is used when neither OpenAPI version nor artifactVersion additional property has been provided")
public void defautlVersionTest() {
final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();
codegen.processOpts();
Assert.assertEquals(codegen.getArtifactVersion(), "1.0.0");
}
@Test(description = "tests if default version is used when neither OpenAPI version nor artifactVersion additional property has been provided")
public void snapshotVersionTest() {
final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();
codegen.additionalProperties().put("snapshotVersion", "true");
codegen.processOpts();
Assert.assertEquals(codegen.getArtifactVersion(), "1.0.0-SNAPSHOT");
}
private static class P_AbstractJavaCodegen extends AbstractJavaCodegen { private static class P_AbstractJavaCodegen extends AbstractJavaCodegen {
@Override @Override
public CodegenType getTag() { public CodegenType getTag() {
@ -214,5 +260,11 @@ public class AbstractJavaCodegenTest {
public String getHelp() { public String getHelp() {
return null; return null;
} }
/**
* Gets artifact version.
* Only for testing purposes.
*/
public String getArtifactVersion () { return this.artifactVersion; }
} }
} }