svn - 带有 Subversion 的 Gradle 多项目

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

project-a 和 project-b 依赖于 project-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 多项目?还是应该重组目录以更好地遵循最佳实践?

最佳答案

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

其他选项包括:

  • 使用持续集成(例如 travisjenkins )将项目工件(jar)发布到工件存储库(例如 artifactorynexus )并引用工件而不是源代码
  • 构建项目并将工件(jar)发布到本地存储库并从那里引用(例如 publishing to maven local)
  • Prezi Pride
  • 关于svn - 带有 Subversion 的 Gradle 多项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39735481/

    相关文章:

    svn - 在我进行更改后分支?

    svn - 颠覆: force users to update before commit

    windows - 如何在 Windows 上更改 SVN 中的帮助语言?

    java - Gradle - Eclipse 部署的父项目 war 中缺少子项目 jar

    android-studio - 在Android Studio中构建Movesense示例时出错。无法解决::mdslib:1.28打开文件

    java - 一个测试用例的测试数据反射(reflect)在另一个测试用例中

    java - 从哪里获得 apache JavaHL 颠覆绑定(bind)库?

    svn - 颠覆 - 删除/清除并重新提交所有文件

    java - Gradle 在执行自定义任务时找不到模块的输出 jar

    android - :checkDebugManifest FAILED => file specified for property 'manifest' does not exist