我不理解为什么Java插件提供了任务'buildNeeded'。 任务'build'不能解决问题吗? Gradle文档说:
buildNeeded:对项目及其所有依赖项执行完整构建。
和
build: 对项目执行完整构建。
任务'build'不应该/不会编译并构建所有必要的事情吗? 为什么要区分'build'和'buildNeeded'?
buildNeeded
命令会对所有被当前项目依赖的项目执行完整的 build
,包括了在这些项目中执行 test
。如果你想更加谨慎,可以使用此命令。相比之下,build
只会运行被依赖项目的最小任务集(例如: jar
)以满足依赖关系。一般情况下,人们更常用 build
命令而不是 buildNeeded
。
构建不会在所有子项目上调用完整构建。
如果您的项目没有依赖项目,那么这没有任何区别。
这个想法是,如果在父项目中更改API,则希望使用新API重新编译所有子项目。