android - openapitools 生成带有版本的模型
问题描述
我正在尝试为不同版本生成模型,我尝试了 forEach 但它只是为最后一项生成,我不明白如何传递类型参数
def goldGdsYamlVersions = ["v1", "v2"]
task generateApiModels(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
goldGdsYamlVersions.forEach() { APIVersion ->
def goldGdsYamlFile = "$rootDir/gold-gds-${APIVersion}.yaml"
generatorName = "kotlin"
inputSpec = goldGdsYamlFile
outputDir = "$buildDir/generated".toString()
modelPackage = "com.goldholding.gold.data.model.$APIVersion"
enablePostProcessFile = true
skipOverwrite = false
configOptions = [
collectionType : "list",
serializationLibrary: "gson"
]
systemProperties = [
modelDocs: "false",
models : ""
]
}}
解决方案
swaggerYamlVersions.forEach { APIVersionX ->
tasks.create("$openApiGenerate$APIVersionX", org.openapitools.generator.gradle.plugin.tasks.GenerateTask.class, {
def goldenGdsYamlFile = "$rootDir/golden-gds-${APIVersionX}.yaml"
generatorName = "kotlin"
inputSpec = goldenGdsYamlFile
outputDir = "$buildDir/generated".toString()
modelPackage = "com.goldenholding.golden.data.model.$APIVersionX"
enablePostProcessFile = true
skipOverwrite = false
configOptions = [
collectionType : "list",
serializationLibrary: "gson"
]
systemProperties = [
modelDocs: "false",
models : ""
]
})
}
task openApiGenerates {
swaggerYamlVersions.forEach{APIVersionX ->
dependsOn("$openApiGenerate$APIVersionX")
}
}
推荐阅读
- algorithm - 1D Candy Crush(如何删除大于 3 的连续相同序列?)
- flutter - LateInitializationError 颤动
- javascript - 猫鼬模式错误:未定义的“类型”
- conditional-statements - 如何在 PDDL 中设置条件?
- powershell - Invoke-WebRequest 使用 SSO 从 Salesforce 下载 csv 文件
- salesforce - 翻译 Salesforce 案例摘要
- reactjs - React JS材料表 - 如何在材料表中选择当前页面的行
- python-3.x - 打印 Python 类的每个对象
- checkbox - ExtJS Sencha 复选框焦点颜色更改/禁用
- python - 努力研究如何使用 Discord.py 将嵌入式消息发送到某个频道