gradle - 将自定义任务集成到多项目构建的生命周期中
问题描述
我有一个包含两个 java 库模块“A”和“B”的多项目构建。“B”依赖于模块“A”:
dependencies {
api ':A'
}
现在我想编写一个提供自定义任务“myGenerator”的自定义插件。“myGenerator”必须在编译模块“B”中的任何类(任务 compileJava)之前运行,但在组装模块“A”之后(“myGenerator”将实现需要模块“A”的一些资源的代码生成器)。
我应该如何配置任务'myGenerator'?如果我说
compileJava.dependsOn myGenerator
并gradle assemble
在模块“B”中运行,“myGenerator”仍然在组装模块“A”之前被执行。
不知何故,我必须配置“myGenerator”以依赖于模块“A”的配置“api”。我怎样才能做到这一点?
解决方案
你只从你的句子中表达了一种依赖:
“myGenerator”必须在编译模块“B”中的任何类(任务 compileJava)之前但在组装模块“A”之后运行
你需要表达另一个:
myGenerator.dependsOn project(':A').jar // or the relevant assembly task of your build
推荐阅读
- python - Python如何将capnproto转换为json?
- shopware - 使用 FTP 更改某些商店软件主题文件不会影响网站
- javascript - 无法理解错误“td-dialog”不是已知元素
- sql - SQL 用前一个非 NULL 行填充 NULL 行
- javascript - 用于在 Log Work 中编写工作描述的 Jira Tampermonkey 脚本
- c# - AutoMapper:更新现有集合
- python - 如何从kafka删除较旧的消息而不是最近的消息
- javascript - 如何使用 Angular 使用 ngx-countdown 启动和停止倒数计时器
- java - 仅更新嵌入数据而不更新所有内容。方法实现的问题
- javascript - ExtJS:MessageBox 不阻止上传