forked from loafle/openapi-generator-original
[kotlin] add missing import, better code format for kotlin generators (#11619)
* add missing import, better code format for kotlin generators * update kotlin workflow * more kotlin tests * better code format * separate kotlin client, server teets * comment out tests
This commit is contained in:
parent
d0d0a0505e
commit
c7367c2d34
@ -1,14 +1,10 @@
|
||||
name: Samples Kotlin
|
||||
name: Samples Kotlin cilent
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- '[5-9]+.[0-9]+.x'
|
||||
- 'samples/client/petstore/kotlin*/**'
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- '[5-9]+.[0-9]+.x'
|
||||
paths:
|
||||
- 'samples/client/petstore/kotlin*/**'
|
||||
|
||||
@ -17,12 +13,13 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build Kotlin
|
||||
name: Build Kotlin client
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
sample:
|
||||
# client
|
||||
- samples/client/petstore/kotlin
|
||||
- samples/client/petstore/kotlin-gson
|
||||
- samples/client/petstore/kotlin-jackson
|
54
.github/workflows/samples-kotlin-server.yaml
vendored
Normal file
54
.github/workflows/samples-kotlin-server.yaml
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
name: Samples Kotlin server
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'samples/server/petstore/kotlin*/**'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'samples/server/petstore/kotlin*/**'
|
||||
|
||||
env:
|
||||
GRADLE_VERSION: 6.9
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build Kotlin server
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
sample:
|
||||
# server
|
||||
- samples/server/petstore/kotlin-springboot
|
||||
- samples/server/petstore/kotlin-springboot-modelMutable
|
||||
- samples/server/petstore/kotlin-springboot-delegate
|
||||
- samples/server/petstore/kotlin-springboot-reactive
|
||||
- samples/server/petstore/kotlin-server/ktor
|
||||
- samples/server/petstore/kotlin-server/jaxrs-spec
|
||||
- samples/server/petstore/kotlin-server-modelMutable
|
||||
# no build.gradle file
|
||||
#- samples/server/petstore/kotlin-vertx-modelMutable
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 8
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v2.1.7
|
||||
env:
|
||||
cache-name: maven-repository
|
||||
with:
|
||||
path: |
|
||||
~/.gradle
|
||||
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
|
||||
- name: Install Gradle wrapper
|
||||
uses: eskatos/gradle-command-action@v2
|
||||
with:
|
||||
gradle-version: ${{ env.GRADLE_VERSION }}
|
||||
build-root-directory: ${{ matrix.sample }}
|
||||
arguments: wrapper
|
||||
- name: Build
|
||||
working-directory: ${{ matrix.sample }}
|
||||
run: ./gradlew build -x test
|
@ -1042,5 +1042,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.KOTLIN; }
|
||||
public GeneratorLanguage generatorLanguage() {
|
||||
return GeneratorLanguage.KOTLIN;
|
||||
}
|
||||
}
|
||||
|
@ -247,7 +247,9 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
return "Generates a Kotlin client.";
|
||||
}
|
||||
|
||||
public boolean getGenerateRoomModels() { return generateRoomModels; }
|
||||
public boolean getGenerateRoomModels() {
|
||||
return generateRoomModels;
|
||||
}
|
||||
|
||||
public void setGenerateRoomModels(Boolean generateRoomModels) {
|
||||
this.generateRoomModels = generateRoomModels;
|
||||
@ -343,12 +345,10 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
// Set the value to defaults if we haven't overridden
|
||||
if (MULTIPLATFORM.equals(getLibrary())) {
|
||||
setSourceFolder("src/commonMain/kotlin");
|
||||
}
|
||||
else if (JVM_VOLLEY.equals(getLibrary())){
|
||||
} else if (JVM_VOLLEY.equals(getLibrary())) {
|
||||
// Android plugin wants it's source in java
|
||||
setSourceFolder("src/main/java");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
setSourceFolder(super.sourceFolder);
|
||||
}
|
||||
additionalProperties.put(CodegenConstants.SOURCE_FOLDER, this.sourceFolder);
|
||||
@ -549,8 +549,8 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
this.setGenerateRoomModels(convertPropertyToBooleanAndWriteBack(GENERATE_ROOM_MODELS));
|
||||
// Hide this option behind a property getter and setter in case we need to check it elsewhere
|
||||
if (getGenerateRoomModels()) {
|
||||
modelTemplateFiles.put("model_room.mustache", "RoomModel.kt");
|
||||
supportingFiles.add(new SupportingFile("infrastructure/ITransformForStorage.mustache", infrastructureFolder, "ITransformForStorage.kt"));
|
||||
modelTemplateFiles.put("model_room.mustache", "RoomModel.kt");
|
||||
supportingFiles.add(new SupportingFile("infrastructure/ITransformForStorage.mustache", infrastructureFolder, "ITransformForStorage.kt"));
|
||||
|
||||
}
|
||||
} else {
|
||||
|
@ -429,7 +429,7 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen
|
||||
if (!this.interfaceOnly) {
|
||||
supportingFiles.add(new SupportingFile("application.mustache", resourceFolder, "application.yaml"));
|
||||
supportingFiles.add(new SupportingFile("springBootApplication.mustache",
|
||||
sanitizeDirectory(sourceFolder + File.separator + basePackage), "Application.kt"));
|
||||
sanitizeDirectory(sourceFolder + File.separator + basePackage), "Application.kt"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -596,11 +596,11 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen
|
||||
final List<CodegenParameter> allParams = operation.allParams;
|
||||
if (allParams != null) {
|
||||
allParams.forEach(param ->
|
||||
// This is necessary in case 'modelMutable' is enabled,
|
||||
// to prevent Spring Request handlers from being generated with
|
||||
// parameters using their Mutable container types.
|
||||
// See https://github.com/OpenAPITools/openapi-generator/pull/11154#discussion_r793094727
|
||||
param.dataType = getNonMutableContainerTypeIfNeeded(param.dataType));
|
||||
// This is necessary in case 'modelMutable' is enabled,
|
||||
// to prevent Spring Request handlers from being generated with
|
||||
// parameters using their Mutable container types.
|
||||
// See https://github.com/OpenAPITools/openapi-generator/pull/11154#discussion_r793094727
|
||||
param.dataType = getNonMutableContainerTypeIfNeeded(param.dataType));
|
||||
}
|
||||
|
||||
doDataTypeAssignment(operation.returnType, new DataTypeAssigner() {
|
||||
|
@ -37,7 +37,7 @@ public class KotlinVertxServerCodegen extends AbstractKotlinCodegen {
|
||||
|
||||
public static final String PROJECT_NAME = "projectName";
|
||||
|
||||
final Logger LOGGER = LoggerFactory.getLogger(KotlinVertxServerCodegen.class);
|
||||
final Logger LOGGER = LoggerFactory.getLogger(KotlinVertxServerCodegen.class);
|
||||
|
||||
public CodegenType getTag() {
|
||||
return CodegenType.SERVER;
|
||||
|
@ -1228,5 +1228,7 @@ public class KtormSchemaCodegen extends AbstractKotlinCodegen {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.KTORM; }
|
||||
public GeneratorLanguage generatorLanguage() {
|
||||
return GeneratorLanguage.KTORM;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,7 @@
|
||||
{{!
|
||||
format: email
|
||||
}}{{#isEmail}}
|
||||
@get:Email
|
||||
{{/isEmail}}{{!
|
||||
@get:Email{{/isEmail}}{{!
|
||||
pattern set
|
||||
}}{{#pattern}}
|
||||
@get:Pattern(regexp="{{{.}}}"){{/pattern}}{{!
|
||||
|
@ -1,6 +1,4 @@
|
||||
{{!
|
||||
format: email
|
||||
}}{{#isEmail}}@Email {{/isEmail}}{{!
|
||||
{{#isEmail}}@Email {{/isEmail}}{{!
|
||||
pattern set
|
||||
}}{{#pattern}}@Pattern(regexp="{{{.}}}") {{/pattern}}{{!
|
||||
minLength && maxLength set
|
||||
|
@ -6,6 +6,7 @@ import java.util.Objects
|
||||
{{#useBeanValidation}}
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
19
pom.xml
19
pom.xml
@ -1184,7 +1184,6 @@
|
||||
<module>samples/server/petstore/jaxrs-resteasy/eap-java8</module>
|
||||
<module>samples/server/petstore/jaxrs-resteasy/joda</module>
|
||||
<module>samples/server/petstore/jaxrs-resteasy/default-value</module>
|
||||
<!--<module>samples/server/petstore/kotlin-server/ktor</module>-->
|
||||
<module>samples/client/petstore/spring-cloud</module>
|
||||
<module>samples/openapi3/client/petstore/spring-cloud</module>
|
||||
<module>samples/client/petstore/spring-cloud-date-time</module>
|
||||
@ -1336,24 +1335,6 @@
|
||||
<!--<module>samples/client/petstore/elixir</module>-->
|
||||
<module>samples/client/petstore/erlang-client</module>
|
||||
<module>samples/client/petstore/erlang-proper</module>
|
||||
<module>samples/client/petstore/kotlin</module>
|
||||
<module>samples/client/petstore/kotlin-gson</module>
|
||||
<module>samples/client/petstore/kotlin-jackson</module>
|
||||
<module>samples/client/petstore/kotlin-json-request-string</module>
|
||||
<module>samples/client/petstore/kotlin-jvm-okhttp4-coroutines</module>
|
||||
<module>samples/client/petstore/kotlin-moshi-codegen</module>
|
||||
<module>samples/client/petstore/kotlin-multiplatform</module>
|
||||
<module>samples/client/petstore/kotlin-nonpublic</module>
|
||||
<module>samples/client/petstore/kotlin-nullable</module>
|
||||
<module>samples/client/petstore/kotlin-okhttp3</module>
|
||||
<module>samples/client/petstore/kotlin-retrofit2</module>
|
||||
<module>samples/client/petstore/kotlin-retrofit2-rx3</module>
|
||||
<module>samples/client/petstore/kotlin-string</module>
|
||||
<module>samples/client/petstore/kotlin-threetenbp</module>
|
||||
<module>samples/client/petstore/kotlin-uppercase-enum</module>
|
||||
<!-- servers -->
|
||||
<module>samples/server/petstore/kotlin-springboot</module>
|
||||
<!--<module>samples/server/petstore/kotlin/vertx</module>-->
|
||||
<!--<module>samples/server/petstore/erlang-server</module>-->
|
||||
</modules>
|
||||
</profile>
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.fasterxml.jackson.annotation.JsonValue
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -7,6 +7,7 @@ import org.openapitools.model.Category
|
||||
import org.openapitools.model.Tag
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.fasterxml.jackson.annotation.JsonValue
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -7,6 +7,7 @@ import org.openapitools.model.Category
|
||||
import org.openapitools.model.Tag
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.fasterxml.jackson.annotation.JsonValue
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -7,6 +7,7 @@ import org.openapitools.model.Category
|
||||
import org.openapitools.model.Tag
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.fasterxml.jackson.annotation.JsonValue
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -7,6 +7,7 @@ import org.openapitools.model.Category
|
||||
import org.openapitools.model.Tag
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
@ -4,6 +4,7 @@ import java.util.Objects
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import javax.validation.constraints.DecimalMax
|
||||
import javax.validation.constraints.DecimalMin
|
||||
import javax.validation.constraints.Email
|
||||
import javax.validation.constraints.Max
|
||||
import javax.validation.constraints.Min
|
||||
import javax.validation.constraints.NotNull
|
||||
|
Loading…
x
Reference in New Issue
Block a user