gradle 的多项目依赖管理

Multiproject dependency management with gradle

目前有 3 个 projects/git 回购设置 gradle:

依赖关系:

app    -> backend
client -> backend

因为 appclient 不依赖于 backend 中的所有内容,就像它们不依赖于 spring 等,而是依赖于某些模型 类],我需要找到一个好的解决方案来构建项目。

我想到了...

1。 backend神器

2。扩展 sourceSets

3。新 api 项目

app     -> api
client  -> api
backend -> api

结论

第一个和第二个解决方案不需要第四个 git 回购,我认为在 backend 中包含 api 组件不是一个坏主意,但在gradle 项目依赖项的上下文,如 3.,我认为会更透明。

有什么最佳做法吗?

感谢您的帮助!

最佳做法是选项 3(创建一个新的 api 项目)。

旁注:您不需要为 api 项目创建单独的存储库,如果需要,您可以将其与后端项目放在一起。

编辑:添加回购布局

如果您希望 api 位于服务器旁边,则需要这种布局。然后引用 API 如 project(":backend:api")

.
├── app
│   └── build.gradle
├── backend
│   ├── api
│   │   └── build.gradle
│   └── server
│       └── build.gradle
├── build.gradle
├── client
│   └── build.gradle
└── settings.gradle