如何使用不同的gradle多项目的子项目

时间:2015-12-08 12:02:37

标签: gradle

我正在尝试创建一个辅助类多项目,其中可以重用不同项目中的子项目。通过这种方式,我可以重用电子邮件等功能,并在将来构建的所有应用程序中解析xmls。

我试图找出最佳方法,但直到现在我还没能找到适合这种情况的最佳做法。我的项目设置看起来像:

Helpers (root)
 -Emailer
 -XmlParser

HelpersUser(Root)

HelpersUser2(Root)
 -SomeSubProject
 -AnotherSubProject

现在我试图让HelperUser1使用Emailer和HelperUser2来使用XmlParser(也可能是电子邮件)。

可能这不是最好的做法,我最好只是建立帮助罐并在我的HelperUser项目中使用它们。如果是这样,我也想知道。但是,我试图实现一种设置,其中所有代码都是动态的,并且始终使用最新的代码(并由jenkins测试以确保在分发之前没有任何中断)。

我将如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以随意将任何文件系统类文件或jar作为依赖项添加到任何项目中。

因此,您的HelperUser项目将具有以下方式之一的依赖关系:

dependencies {
    compile  files('Helpers/a.jar', 'Helpers/b.jar')
    compile  fileTree(dir: 'Helpers/build', include: '*.jar')
    compile  files("$Helpers/build/classes")
}

顺便说一句,为了解决问题的最后部分,您可以使用+通配符来暗示所有已声明的回购中的最新版本。

compile "junit:junit:4.+"

+可以成为乐透,并且会以意想不到的方式失败。