Gradle-任务的增量构建支持
我在Gradle构建中使用了一些不支持增量构建功能的任务(&) 通过谷歌搜索(并查看Gradle文档),我知道似乎可以扩展任务以添加一些属性,所以我尝试了一下,但不幸的是,它似乎不起作用。Gradle-任务的增量构建支持,gradle,swagger,openapi,Gradle,Swagger,Openapi,我在Gradle构建中使用了一些不支持增量构建功能的任务(&) 通过谷歌搜索(并查看Gradle文档),我知道似乎可以扩展任务以添加一些属性,所以我尝试了一下,但不幸的是,它似乎不起作用。 下面是我添加的build.gradle扩展: swaggerSources { jaxrsServer { inputFile = file('path/to/spec.yaml') code { language = 'jaxrs'
下面是我添加的
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
任务扩展是否错误?有没有其他方法可以实现这一点?
OpenAPIStyleValidatorTask
不会自行注册,因此您必须像这样创建新任务(基于Kotlin的配置):
create(“validatePaidoc”,OpenAPIStyleValidatorTask::class.java){
此.setValidateInfo许可证(false)
这个.setInputFile(“$projectDir/src/jvmMain/resources/swagger ui/api_documentation.yaml”)
}
OpenAPIStyleValidatorTask
不会自动注册,因此您必须像这样创建新任务(基于Kotlin的配置):
create(“validatePaidoc”,OpenAPIStyleValidatorTask::class.java){
此.setValidateInfo许可证(false)
这个.setInputFile(“$projectDir/src/jvmMain/resources/swagger ui/api_documentation.yaml”)
}
你的意思是,你不能像他们在项目中提到的那样使用任务声明,而是创建一个新任务?@Xendar插件根本没有注册这个任务。如果运行gradle任务--all
,您可以看到它不在那里。因此,您必须为openAPIStyleValidator任务
类注册任务。很抱歉,在build.gradle
中添加openAPIStyleValidator
闭包就足以注册任务,并且在运行gradle任务--all
时会显示该任务。无论如何,增量构建问题的目的是什么?你的意思是,你不能使用项目中提到的任务声明,而是创建一个新任务?@Xendar插件根本没有注册这个任务。如果运行gradle任务--all
,您可以看到它不在那里。因此,您必须为openAPIStyleValidator任务
类注册任务。很抱歉,在build.gradle
中添加openAPIStyleValidator
闭包就足以注册任务,并且在运行gradle任务--all
时会显示该任务。无论如何,增量构建问题的目的