替代构建使用相关项目的不同依赖集

时间:2015-03-16 07:12:50

标签: gradle build.gradle

我有几个项目,它们之间存在依赖关系,在生产版本中,所有项目都打包到jar中,发布,主项目只是添加对这些jar文件的依赖。

在开发和CI期间,我希望主项目依赖于相关项目并将其构建为过程的一部分(不是编译,部署然后再构建,而是一起编译)。

这就是生产中我会拥有的:

compile  group:'com.me.aaa', name:'myCommonProj', version: '1.0.0'

而对于开发版本,我希望:

compile project(':myCommonProj')

选项#2但需要settings.gradle文件。

如何完成此设置?

1 个答案:

答案 0 :(得分:0)

我将gitflow应用于项目并按以下方式工作:

    在开发分支中
  • 我将compile(':myProject')依赖项与相应的setting.gradle文件保持一致。

  • 主分支中的
  • 我只保留固定的依赖关系。

这种情况并不是很舒服,但是因为dev分支将部分合并(固定与本地依赖关系),但它可以很容易地完成。另一方面,以这种方式工作将阻止您在构建脚本中保留奇怪的逻辑。

第二个选项是,如果全部为build.gradlesettings.gradle。 CI服务器应公开构建号和其他环境变量。它们可用于根据环境包含适当的依赖项。