Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle-任务的增量构建支持_Gradle_Swagger_Openapi - Fatal编程技术网

Gradle-任务的增量构建支持

Gradle-任务的增量构建支持,gradle,swagger,openapi,Gradle,Swagger,Openapi,我在Gradle构建中使用了一些不支持增量构建功能的任务(&) 通过谷歌搜索(并查看Gradle文档),我知道似乎可以扩展任务以添加一些属性,所以我尝试了一下,但不幸的是,它似乎不起作用。 下面是我添加的build.gradle扩展: swaggerSources { jaxrsServer { inputFile = file('path/to/spec.yaml') code { language = 'jaxrs'

我在Gradle构建中使用了一些不支持增量构建功能的任务(&)

通过谷歌搜索(并查看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

任务扩展是否错误?有没有其他方法可以实现这一点?

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
时会显示该任务。无论如何,增量构建问题的目的