gpt4 book ai didi

git - gradle 对另一个项目的三角依赖

转载 作者:行者123 更新时间:2023-12-03 03:43:52 24 4
gpt4 key购买 nike

我花了很多时间来解决我认为很常见的项目结构,但找不到任何合适的解决方案。

项目结构:

some_local_dir_with_git_repos
git_repo_of_project_A/
build.gradle
git_repo_of_project_B/
build.gradle
git_repo_of_project_Core/

项目 A 和 B 应包括核心资源。

“some_local_dir_with_git_repos”不在 Git 下,所以我不想在其中添加任何 settings.gradle。

有没有优雅的解决方案?

添加:

感谢@peter-niederwieser 和他提供的链接(其中包含他的答案 - https://stackoverflow.com/a/20807550/1336772)。

我让我的 A 和 B 项目的 settings.gradle 看起来像这样:
include ':Core'
project(':Core').projectDir = new File('../git_repo_of_project_Core/')

并将这些行添加到 build.gradle:
dependencies {
compile project(':Core')
}

在“文件-> 无效缓存/重新启动”(解决 Android Studio 中的“无法解析符号”问题)和“构建-> 重建项目”(解决 ClassNotFoundException 问题)之后,它对我来说很好。

最佳答案

一个好的指导方针是将版本化的东西一起构建。因此,如果您有三个 Git 存储库,那么您将拥有三个构建,它们将通过二进制存储库(例如 Artifactory 或 Nexus)交换工件。

如果您必须有一个跨多个 Git 存储库的构建,一些选项是使用 Git 子模块创建一个 super 存储库,以传递 settings.gradle 的位置通过 --settings-file , 或从包含 settings.gradle 的目录运行构建.此外,您可能需要配置项目目录的位置,如 defining subprojects in a deeply nested directory tree 所示。 .

关于git - gradle 对另一个项目的三角依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20814036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com