如何修改gradle任务openapi3';这是迪彭森。gradle插件是用kotlin编写的
我添加了一个gradle插件如何修改gradle任务openapi3';这是迪彭森。gradle插件是用kotlin编写的,gradle,kotlin,gradle-plugin,spring-restdocs,Gradle,Kotlin,Gradle Plugin,Spring Restdocs,我添加了一个gradle插件com.epages:restdocs api spec gradle插件:0.9.0,它公开了一个gradle任务openapi3。此任务依赖于运行所有测试的任务。我希望此任务依赖于myCustomTest任务,它只运行我测试的一个子集。我该怎么做呢 到目前为止,我甚至无法向它添加dependsOn,尽管添加dependsOn可能不是解决方案。我得到了以下错误: Could not find method dependsOn() for arguments [tas
com.epages:restdocs api spec gradle插件:0.9.0
,它公开了一个gradle任务openapi3
。此任务依赖于运行所有测试的任务。我希望此任务依赖于myCustomTest
任务,它只运行我测试的一个子集。我该怎么做呢
到目前为止,我甚至无法向它添加dependsOn
,尽管添加dependsOn
可能不是解决方案。我得到了以下错误:
Could not find method dependsOn() for arguments [task ':myCustomTest'] on object of type com.epages.restdocs.apispec.gradle.OpenApi3Extension
当我尝试执行以下任一操作时:
openapi3.dependsOn myCustomTest
openapi3{dependsOn myCustomTest}
这个插件的一个特别之处是它是用kotlin编写的,这里是源代码:找到了一个简单的解决我上面问题的方法。事实证明,我可以用-x运行openapi3来跳过某些任务。因此,下面的内容将按我所希望的方式工作:
gradle myCustomTest openapi3 -x check
无需修改gradle构建脚本。由于openapi3已注册为扩展,并且在使用相同名称注册任务后,您无法静态声明它,因此使用动态模式:
myCustomTest.finalizedBy {
tasks.findAll {task -> task.name.startsWith('openapi3')}
}