我有几个项目,它们之间存在依赖关系,在生产版本中,所有项目都打包到jar中,发布,主项目只是添加对这些jar文件的依赖。
在开发和CI期间,我希望主项目依赖于相关项目并将其构建为过程的一部分(不是编译,部署然后再构建,而是一起编译)。
这就是生产中我会拥有的:
compile group:'com.me.aaa', name:'myCommonProj', version: '1.0.0'
而对于开发版本,我希望:
compile project(':myCommonProj')
选项#2但需要settings.gradle
文件。
如何完成此设置?
答案 0 :(得分:0)
我将gitflow应用于项目并按以下方式工作:
我将compile(':myProject')
依赖项与相应的setting.gradle
文件保持一致。
我只保留固定的依赖关系。
这种情况并不是很舒服,但是因为dev分支将部分合并(固定与本地依赖关系),但它可以很容易地完成。另一方面,以这种方式工作将阻止您在构建脚本中保留奇怪的逻辑。
第二个选项是,如果全部为build.gradle
和settings.gradle
。 CI服务器应公开构建号和其他环境变量。它们可用于根据环境包含适当的依赖项。