如何使用gradle“管理传递依赖”?

时间:2015-08-21 07:06:43

标签: gradle

我想版本控制并锁定“传递”/递归依赖一直向下,这样如果我稍后git checkout PRODUCT_X_Y_Z并构建它,它将使用确切的所有依赖项的相同版本,甚至是我在build.gradle中未明确提到的那些版本。

gradle可以实现这一目标吗?

Chapter 52. Dependency Management文档有一个“52.2.2。管理传递依赖”部分,根据模块“A”描述我,而“A”依赖于“B”。 “52.2.4。使用动态版本和更改模块”一节解释了一些依赖项(直接或传递)如何随着时间的推移产生不同的实际.jar文件。

我见过gradle-dependency-lock-plugin,但doesn't work for gradle >= 2.4,这让我很担心。

是否有更多的本地方式来实现这一目标?我很困惑,任何人都可以标记PRODUCT_X_Y_Z而不能在以后再现它......

1 个答案:

答案 0 :(得分:0)

我不确定是否锁定所有版本是你需要的。您始终可以创建PRODUCT_X_Y_Z标记以及包含所有依赖项列表及其版本的文件。在gradle中生成这样的文件是一项艰巨的任务。

但是,您可以自己锁定依赖项。在dependencies块中添加所有依赖项。然后将所有依赖项复制到lib文件夹,并将dependencies块下的条目替换为指向lib文件夹的指针。这只是一个简单的解决方法,而不是长期的解决方案。