hdarritchon
10/06/2020, 8:48 AMJúlio Santos
10/06/2020, 12:46 PMhdarritchon
10/06/2020, 2:37 PMfun generateApiSourcesFunction(task: Task, specFile: String) {
task.description = "Generates sources from Swagger."
val swagger = "$projectDir/src/main/resources/swagger/*.json"
val output = "$buildDir/generated-sources/swagger"
task.inputs.files(swagger)
task.outputs.dir(output)
task.doLast {
with(CodegenConfigurator()) {
setInputSpec("$projectDir/src/main/resources/swagger/$specFile")
setOutputDir(output)
addSystemProperty("models", "") // pour ne générer que les classes du modèle, pas les stubs
addSystemProperty("modelDocs", "false") // pour ne générer que les classes du modèle, pas les stubs
setGeneratorName("kotlin")
setModelPackage("com.xxxxxxx.xxxxx.xxxxx.api.domain.models")
setAdditionalProperties(
mapOf(
"dateLibrary" to "java8",
"serializationLibrary" to "jackson",
"enumPropertyNaming" to "original" // sinon par défaut les enums sont en camelCase
)
)
setTypeMappings(
mapOf(
"array" to "kotlin.collections.List",
"DateTime" to "java.time.OffsetDateTime"
)
)
DefaultGenerator().opts(toClientOptInput()).generate()
}
}
}
```
I set up a task to generate my model (only model).