【发布时间】:2021-05-20 22:57:46
【问题描述】:
我在我的 Gradle 构建中使用了一些不支持增量构建功能的任务(Swagger codegen Gradle plugin & OpenAPI Style Validator)。
谷歌搜索了一下(并检查了 Gradle 文档)我知道似乎可以扩展任务以添加一些属性,所以我试了一下,但不幸的是它似乎不起作用。
这是我添加的build.gradle 扩展:
swaggerSources {
jaxrsServer {
inputFile = file('path/to/spec.yaml')
code {
language = 'jaxrs'
library = 'jersey2'
outputDir = file('build/generated/sources/swagger')
templateDir = file('path/to/templates')
}
}
jaxrsClient {
inputFile = file('path/to/spec.yaml')
code {
language = 'java'
library = 'jersey2'
outputDir = file('build/generated/sources/swagger')
}
}
}
tasks.withType(GenerateSwaggerCode) {
inputs.file('path/to/spec.yaml')
outputs.dir('build/generated/sources/swagger')
}
[...]
openAPIStyleValidator {
inputFile = "$projectDir/path/to/spec.yaml"
validateInfoLicense = false
}
tasks.withType(org.openapitools.openapistylevalidator.gradle.OpenAPIStyleValidatorTask) {
inputs.file("$projectDir/path/to/spec.yaml")
}
以及(截断的)构建输出:
> Task :module:openAPIStyleValidator
Validating spec: /.../path/to/spec.yaml
[...]
> Task :module:resolveSwaggerTemplate NO-SOURCE
> Task :module:generateSwaggerCodeJaxrsClient
> Task :module:generateSwaggerCodeJaxrsServer
> Task :module:generateSwaggerCode NO-SOURCE
> Task :module:compileJava
任务扩展错了吗?有没有其他方法可以做到这一点?
【问题讨论】: