【发布时间】:2019-10-25 19:41:15
【问题描述】:
我正在尝试构建一个引用已在 artifactory 中发布的 openapi 规范的应用程序。这意味着我会将 foo.yaml 作为依赖项引入,但我似乎无法弄清楚如何通过 openapitools 生成器插件实际引用该文件。
鉴于 openapi 规范可用于生成服务器代码和客户端代码,因此将其单独发布并简单地拉入并由实现引用是完全合理的。
com.company.bar-1.0.10 在 jar 的顶层包含 foo.yaml。
我已在 build.gradle.kts 文件的顶层添加了依赖项,并将其添加为插件任务本身的一部分。
task generateFooCode(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
generatorName = "java"
apiPackage = 'com.ehi.gbo.openapiconnect.api.foo'
modelPackage = 'com.ehi.gbo.openapiconnect.model.foo'
invokerPackage = 'com.ehi.gbo.openapiconnect.common.invoker'
inputSpec = "foo.yaml".toString()
outputDir = "$buildDir/generated-sources/foo".toString()
configOptions = [
dateLibrary : "java8",
useTags : true,
interfaceOnly : true,
delegatePattern : false,
useBeanValidation : false,
performBeanValidation: false,
useOptional : false,
serviceImplementation: false,
serviceInterface : false,
java8 : false,
serializableModel : true,
skipDefaultInterface : true,
reactive : false,
]
configurations {
dependencies {
implementation 'com.company.bar:foo-api:1.0.10'
}
}
}
我得到的结果: * 什么地方出了错: 任务 ':generateFooCode' 执行失败。
规范存在问题。可以通过 validateSpec (Maven/Gradle) 或 --skip-validate-spec (CLI) 禁用该选项。 |错误计数:1,警告计数:0 错误: -无法读取位置
foo.yaml
【问题讨论】:
标签: java gradle openapi openapi-generator