2016-09-27 130 views
1

我有了一个多项目如下结构的SVN回购:摇篮多项目使用Subversion

|--root-project 
| |--trunk 
| | |--src 
| | |--build.gradle 
| | 
| |--branches 
| | |--1 
| | 
| |--tags 
| | |--release1.0 
| | 
| |--project-a 
| | |--trunk 
| | | |--src 
| | | |--build.gradle 
| | |--branches 
| |   |--1 
| | |--tags 
| | | |--release1.0 
| | | |--release1.1 
| | 
| |--project-b 
| | |--trunk 
| | | |--src 
| | | |--build.gradle 
| | |--branches 
| |   |--1 
| | |--tags 
| | | |--release1.0 
| | 
| |-- common 
| | |--project-c 
| | |  |--trunk 
| | |  |  |--src 
| | |  |  |--build.gradle 
| | 
| | |  |--branches 
| | |  | --tags 
| | |  |  |--release1.0 

项目和项目-B依赖于项目-C。目录结构必须如下对https://docs.gradle.org/current/userguide/multi_project_builds.html例子型号:

|--root-project 
| |--src 
| |--build.gradle 
| | 
| |--project-a 
| | |--src 
| | |--build.gradle 
| | 
| |--project-b 
| | |--src 
| | |--build.gradle 
| | 
| |--project-c 
| |--src 
| |--build.gradle 

我可以使用gradle这个多项目支持,我目前拥有的SVN回购结构?或者是否需要重新构建SVN repo目录以支持gradle多项目?还是应该重组目录以更好地遵循最佳实践?

回答

2

Gradle 3.1中包含一个名为composite build support的杀手功能。它应该做你需要的一切。这个功能是一个游戏改变!用户指南here

其他选项包括:

  1. 使用持续集成(如travisjenkins)发布项目工件(罐)到工件储存库(如artifactorynexus)和引用的文物,而不是源代码

  2. 建一个项目并发布工件(罐),从那里本地存储库和引用(例如publishing to maven local

  3. Prezi Pride