gradle构建如何知道哪些模块已更改?

gradle构建如何知道哪些模块已更改?,gradle,Gradle,我想编写一个bash脚本,它只为我的项目中已更改(构建后)的模块获取输出的jar,以便我可以将它们复制到服务器上。我不想每次都要复制每个模块jar,就像做一个完全干净的构建一样。这是一个使用git的gradle项目。我知道gradle可以只基于代码已经更新的模块进行增量构建,但是有没有办法调用这个插件(假设它是一个插件)?我在网上做了一些搜索,但找不到任何信息 Gradle的概念是与任务相关的输入和输出。Gradle会在任务第一次运行时以及每次后续执行时对其输入和输出进行快照。这些快照包含每个文

我想编写一个bash脚本,它只为我的项目中已更改(构建后)的模块获取输出的jar,以便我可以将它们复制到服务器上。我不想每次都要复制每个模块jar,就像做一个完全干净的构建一样。这是一个使用git的gradle项目。我知道gradle可以只基于代码已经更新的模块进行增量构建,但是有没有办法调用这个插件(假设它是一个插件)?我在网上做了一些搜索,但找不到任何信息

Gradle的概念是与任务相关的
输入
输出
。Gradle会在任务第一次运行时以及每次后续执行时对其输入和输出进行快照。这些快照包含每个文件内容的哈希值。这使gradle能够在输入和/或输出发生变化时检查后续执行,并决定是否需要再次执行任务

此功能也可用于自定义gradle任务(您自己编写的任务),并且是实现所需行为的一种方式。如果需要,可以从bash脚本调用相应的任务。更多详细信息可在此处找到:

否则,我想您的bash脚本可能需要比较相关文件的修改时间戳,或者计算和比较哈希本身

Gradle使用内部缓存(二进制格式,存储在
.Gradle
文件夹中)。使用bash复制工件可能会有问题,但您始终可以实现自定义的gradle任务。