我有一个包含两个 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' must run before compiling any classes (task compileJava) in module 'B' but after assembling module 'A'
你需要表达另一个:
myGenerator.dependsOn project(':A').jar // or the relevant assembly task of your build
关于gradle - 将自定义任务集成到多项目构建的生命周期中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60265662/