我正在尝试将一个相当大的 Android 项目从 Maven 迁移到 Gradle,但我遇到了一些我不知道如何解决的问题。
结构如下(目前我无法控制)。
- MainModule
-- Core UI
--- UI Module 1
---- src
------ main
------- java
-- Core Logic
--- Logic Module 1
--- Logic Module 2
--- ...
-- Services
--- Service Module 1
--- Service Module 2
--- ...
主模块不包含代码。“src/main/java”结构被复制到所有其他模块(逻辑模块、服务模块、UI 模块)中。
1-我需要访问本地 Artifactory,为此我们需要输入我们的用户凭据。我有三个不同的存储库来查找工件(快照、发布和另一个我不记得的)。我需要对所有这些都使用相同的凭据。如何定义这些凭据并声明存储库并在所有 build.gradle 文件中共享存储库(使用凭据)?我或多或少明白我可以像这样定义一个存储库(和凭据):
repositories {
maven {
credentials {
username "mavenUser"
password "mavenPassword"
}
url "myurl"
}
}
但是我不知道如何在所有 gradle 构建文件中共享这个定义,而且我不认为在这么多模块之间复制和粘贴是最好的主意。此外,从环境变量或 Maven 的 settings.xml 之类的东西中获取用户和密码也很有用。
2-我们需要定期发布并在本地 Artifactory 中发布工件,并让版本号自动递增,就像我们在 Maven 上所做的那样,关于如何实现这一点的任何指针?(当然,我没有研究那么多,我被困在 1 上)
3-我想在项目的所有 build.gradle 文件中共享 groupId 和版本。
4-我希望能够为多个(所有)子模块声明一次依赖项。
任何帮助表示赞赏。