我正在使用某种gradle任务链下载swagger.yaml,使用Gradle Swagger Gernerator Plugin生成代码,然后根据生成的代码创建.jar文件,然后将其上传到私有Nexus服务器。
至少,这就是我的目标。如果生成的代码不存在,则整个链失败。
我有一个自定义任务,将它们链接在一起,如下所示:
task generate(type: GradleBuild) {
tasks = ['downloadFile', 'generateSwaggerCode', ':subProject:jar', 'upload']
}
generateSwaggerCode
生成代码到“ subProject”中,该代码包含在“ settings.gradle”中:include subProject
。这样,我可以运行子项目的gradle任务。这需要确保gradle也下载子项目的依赖项。 gradle plugin's readme指出,可以通过挂接到compileJava任务而从根的gradle任务直接构建项目,该任务由于缺少刚生成的代码的依赖关系而失败。
在事先调用generateSwaggerCode
时,一切似乎都能正常工作,因此“ subProject”已经存在。
我正在寻找一种忽略检查的方法,或者调用生成的代码的gradle包装器,而不必连续调用两个单独的任务。