diff --git a/.codacy.yml b/.codacy.yml
index 704408f2..4f349bcc 100644
--- a/.codacy.yml
+++ b/.codacy.yml
@@ -17,4 +17,5 @@
exclude_paths:
- 'scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/*Task.groovy'
- 'scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/model/*SpecFile.groovy'
+ - 'scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/model/OperationParameter.groovy'
- '**/src/test/resources/**'
diff --git a/multiapi-engine/pom.xml b/multiapi-engine/pom.xml
index f5dcf16a..ca51f409 100644
--- a/multiapi-engine/pom.xml
+++ b/multiapi-engine/pom.xml
@@ -4,7 +4,7 @@
com.sngular
multiapi-engine
- 6.7.2
+ 6.7.3
jar
diff --git a/scs-multiapi-gradle-plugin/build.gradle b/scs-multiapi-gradle-plugin/build.gradle
index 9c5f1a39..26780f99 100644
--- a/scs-multiapi-gradle-plugin/build.gradle
+++ b/scs-multiapi-gradle-plugin/build.gradle
@@ -21,7 +21,7 @@ repositories {
}
group = 'com.sngular'
-version = '6.7.2'
+version = '6.7.3'
def SCSMultiApiPluginGroupId = group
def SCSMultiApiPluginVersion = version
@@ -31,7 +31,7 @@ dependencies {
shadow localGroovy()
shadow gradleApi()
- implementation 'com.sngular:multiapi-engine:6.7.2'
+ implementation 'com.sngular:multiapi-engine:6.7.3'
testImplementation 'org.assertj:assertj-core:3.24.2'
testImplementation 'com.puppycrawl.tools:checkstyle:10.12.3'
testImplementation 'org.junit.platform:junit-platform-launcher:1.9.2'
@@ -100,7 +100,7 @@ testing {
integrationTest(JvmTestSuite) {
dependencies {
- implementation 'com.sngular:scs-multiapi-gradle-plugin:6.7.2'
+ implementation 'com.sngular:scs-multiapi-gradle-plugin:6.7.3'
implementation 'org.assertj:assertj-core:3.24.2'
}
diff --git a/scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/AsyncApiTask.groovy b/scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/AsyncApiTask.groovy
index 7261441e..ae172be2 100644
--- a/scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/AsyncApiTask.groovy
+++ b/scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/AsyncApiTask.groovy
@@ -92,12 +92,27 @@ abstract class AsyncApiTask extends DefaultTask {
if (parameterObject.getIds()) {
builder.ids(parameterObject.ids)
}
+ if (parameterObject.getModelNamePrefix()) {
+ builder.modelNamePrefix(parameterObject.modelNamePrefix)
+ }
if (parameterObject.getModelNameSuffix()) {
builder.modelNameSuffix(parameterObject.modelNameSuffix)
}
if (parameterObject.getModelPackage()) {
builder.modelPackage(parameterObject.modelPackage)
}
+ if (parameterObject.getDateFormat()) {
+ builder.dateFormat(parameterObject.dateFormat)
+ }
+ if (parameterObject.getDateTimeFormat()) {
+ builder.dateTimeFormat(parameterObject.dateTimeFormat)
+ }
+ if (parameterObject.getUseTimeType()) {
+ builder.useTimeType(parameterObject.useTimeType)
+ }
+ if (parameterObject.getUseLombokModelAnnotation()) {
+ builder.useLombokModelAnnotation(parameterObject.useLombokModelAnnotation)
+ }
return builder.build()
}
diff --git a/scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/model/OperationParameter.groovy b/scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/model/OperationParameter.groovy
index 4129e184..156a3b14 100644
--- a/scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/model/OperationParameter.groovy
+++ b/scs-multiapi-gradle-plugin/src/main/groovy/com/sngular/api/generator/plugin/model/OperationParameter.groovy
@@ -6,6 +6,8 @@
package com.sngular.api.generator.plugin.model
+import com.sngular.api.generator.plugin.common.model.TypeConstants
+
class OperationParameter {
String ids
@@ -14,10 +16,20 @@ class OperationParameter {
String modelPackage
+ String modelNamePrefix
+
String modelNameSuffix
String classNamePostfix
+ String dateFormat
+
+ String dateTimeFormat
+
+ TypeConstants.TimeType useTimeType
+
+ boolean useLombokModelAnnotation
+
String getIds() {
return ids
}
@@ -46,6 +58,14 @@ class OperationParameter {
this.modelPackage = modelPackage
}
+ String getModelNamePrefix() {
+ return modelNamePrefix
+ }
+
+ void setModelNamePrefix(final String modelNamePrefix) {
+ this.modelNamePrefix = modelNamePrefix
+ }
+
String getModelNameSuffix() {
return modelNameSuffix
}
@@ -62,4 +82,36 @@ class OperationParameter {
this.classNamePostfix = classNamePostfix
}
+ String getDateFormat() {
+ return dateFormat
+ }
+
+ void setDateFormat(final String dateFormat) {
+ this.dateFormat = dateFormat
+ }
+
+ String getDateTimeFormat() {
+ return dateTimeFormat
+ }
+
+ void setDateTimeFormat(final String dateTimeFormat) {
+ this.dateTimeFormat = dateTimeFormat
+ }
+
+ TypeConstants.TimeType getUseTimeType() {
+ return useTimeType
+ }
+
+ void setUseTimeType(final TypeConstants.TimeType useTimeType) {
+ this.useTimeType = useTimeType
+ }
+
+ boolean getUseLombokModelAnnotation() {
+ return useLombokModelAnnotation
+ }
+
+ void setUseLombokModelAnnotation(final boolean useLombokModelAnnotation) {
+ this.useLombokModelAnnotation = useLombokModelAnnotation
+ }
+
}
\ No newline at end of file
diff --git a/scs-multiapi-gradle-plugin/src/test/java/com/sngular/api/generator/plugin/ScsMultiApiTest.java b/scs-multiapi-gradle-plugin/src/test/java/com/sngular/api/generator/plugin/ScsMultiApiTest.java
index 341ec72b..4bbbe0af 100644
--- a/scs-multiapi-gradle-plugin/src/test/java/com/sngular/api/generator/plugin/ScsMultiApiTest.java
+++ b/scs-multiapi-gradle-plugin/src/test/java/com/sngular/api/generator/plugin/ScsMultiApiTest.java
@@ -8,8 +8,10 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import com.sngular.api.generator.plugin.asyncapi.parameter.OperationParameterObject;
import com.sngular.api.generator.plugin.common.model.TypeConstants;
import com.sngular.api.generator.plugin.model.OpenApiSpecFile;
+import com.sngular.api.generator.plugin.model.OperationParameter;
import com.sngular.api.generator.plugin.openapi.parameter.SpecFile;
import org.gradle.api.Project;
import org.gradle.testfixtures.ProjectBuilder;
@@ -54,4 +56,47 @@ void openApiTaskDefaultsUseTimeTypeToLocal() {
assertEquals(TypeConstants.TimeType.LOCAL, result.getUseTimeType());
}
+ @Test
+ void asyncApiTaskMapsUseTimeType() {
+ final OperationParameter parameterObject = new OperationParameter();
+ parameterObject.setUseTimeType(TypeConstants.TimeType.ZONED);
+
+ final OperationParameterObject result = AsyncApiTask.toOperationParameterObject(parameterObject);
+
+ assertEquals(TypeConstants.TimeType.ZONED, result.getUseTimeType());
+ }
+
+ @Test
+ void asyncApiTaskDefaultsUseTimeTypeToLocal() {
+ final OperationParameter parameterObject = new OperationParameter();
+
+ final OperationParameterObject result = AsyncApiTask.toOperationParameterObject(parameterObject);
+
+ assertEquals(TypeConstants.TimeType.LOCAL, result.getUseTimeType());
+ }
+
+ @Test
+ void asyncApiTaskMapsCommonSpecFileFields() {
+ final OperationParameter parameterObject = new OperationParameter();
+ parameterObject.setApiPackage("com.example.api");
+ parameterObject.setModelPackage("com.example.model");
+ parameterObject.setModelNamePrefix("Prefix");
+ parameterObject.setModelNameSuffix("DTO");
+ parameterObject.setClassNamePostfix("Consumer");
+ parameterObject.setDateFormat("dd/MM/yyyy");
+ parameterObject.setDateTimeFormat("dd/MM/yyyy HH:mm");
+ parameterObject.setUseLombokModelAnnotation(true);
+
+ final OperationParameterObject result = AsyncApiTask.toOperationParameterObject(parameterObject);
+
+ assertEquals("com.example.api", result.getApiPackage());
+ assertEquals("com.example.model", result.getModelPackage());
+ assertEquals("Prefix", result.getModelNamePrefix());
+ assertEquals("DTO", result.getModelNameSuffix());
+ assertEquals("Consumer", result.getClassNamePostfix());
+ assertEquals("dd/MM/yyyy", result.getDateFormat());
+ assertEquals("dd/MM/yyyy HH:mm", result.getDateTimeFormat());
+ assertTrue(result.isUseLombokModelAnnotation());
+ }
+
}
diff --git a/scs-multiapi-maven-plugin/pom.xml b/scs-multiapi-maven-plugin/pom.xml
index 7ced72c7..39a9ef94 100644
--- a/scs-multiapi-maven-plugin/pom.xml
+++ b/scs-multiapi-maven-plugin/pom.xml
@@ -4,7 +4,7 @@
com.sngular
scs-multiapi-maven-plugin
- 6.7.2
+ 6.7.3
maven-plugin
AsyncApi - OpenApi Code Generator Maven Plugin
@@ -271,7 +271,7 @@
com.sngular
multiapi-engine
- 6.7.2
+ 6.7.3
org.apache.maven