如何在单个gradle构建中拥有多个文件系统?

时间:2016-10-27 13:46:18

标签: gradle

首先,我是Gradle和Groovy的总菜鸟。 : - )

我尝试将现有项目从基于ant的构建移植到使用Gradle。我遇到的问题是我的源代码存储在两个不同的文件系统中(两个git repos)。我设法让Gradle子项目配置适用于同一文件系统中的模块,但我似乎无法将子项目链接到两个不同的文件系统。我需要文件系统中的项目' A' (我的应用程序仓库)依赖于文件系统中的项目' B' (我的图书馆回购)。

有没有办法让Gradle处理跨文件系统边界的依赖?

非常感谢任何帮助......

1 个答案:

答案 0 :(得分:1)

当你说文件系统我猜你的意思是他们在签出后在两个不同的文件夹中。

有两种方法可以达到你想要的效果:

一个是构建项目B并将Jars发布到项目A可以访问的“存储库”中。我通过将jar从projectB / build / libs复制到projectA / lib文件夹并将该lib文件夹作为存储库添加到项目A的构建文件中来实现这一点,如下所示:

repositories {
    flatDir {
        dirs 'lib'
    }
}

这是一个小手册,但它可以解决问题。

另一种方法是使用Gradle的新Composite Build功能。它允许您将项目A配置为包括项目B.这样可以避免手动复制jar。我自己没有使用过这种方法,因为它非常新,所以我不能保证它的工作效果。