使用Subversion的Gradle Multi-Project

时间:2016-09-27 22:45:50

标签: svn gradle

我有一个SVN仓库,它具有以下多项目结构:

|--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

项目-a和项目-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

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

1 个答案:

答案 0 :(得分:2)

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

其他选项包括:

  1. 使用持续集成(例如travisjenkins)将项目工件(jar)发布到工件存储库(例如artifactorynexus)和参考工件而不是源代码

  2. 构建项目并将工件(jars)发布到本地存储库并从那里引用(例如publishing to maven local

  3. Prezi Pride