Gradle 多项目最佳实践



我必须遵循项目/文件系统结构:

workspace (Eclipse folder for all my projects)
    Tools
    WebTools (depends on Tools)
    Project (depends on Tools)
    WebProject (depends on WebTools)
    more

每个项目都在 git 中。我使用 Eclipse 的构建路径 -> Projects 来包含例如 WebTools 和 Web Project 中的工具。我最喜欢的功能是,我可以在任何项目上改进工具/WebTools,包括重构的能力。

目前,我正在使用 Ant 进行分发构建,并在 WebProject 的构建中包含工具和 WebTools 的源代码。

现在我想迁移到 gradle。文档建议子项目始终必须位于如下所示的子文件夹中:

workspace
    WebProject
        WebTools
            Tools
    Project
        Tools (?)

但这干扰了我的工作流程,因为我需要多个工具/WebTools 的副本,而 eclipse 无法再重构。

这个要求(平面结构)可以用 gradle 建模吗?如何?还是有另一个工作流允许我处理多个项目和依赖项?

这取决于项目的大小以及包含多少模块。没有必要像在 maven 中那样应用分层结构 - gradle 也可以处理平面结构(当然还有 maven)。似乎可以保留项目结构,并且 eclipse(或其他 IDE)应该正确导入它。模块之间的重构也应该工作正常,因为模块被分组在一个父级下 - 看起来模块在这里分组。

最新更新