gpt4 book ai didi

gradle - 如何在 Gradle 多项目中制作完全独立的模块

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

我想用java开发一个软件,上面有一些GUI(特别是一个android应用程序)。我希望核心功能是一个独立的模块,完全独立于任何 GUI 或其他可以构建在上面的软件层。

核心模块是 Gradle 项目本身:

core
├── src
├── build.gradle
└── settings.gradle

对于应用程序,它作为 git 子模块包含在根存储库中:

project
├── app
│   ├── src
│   └── build.gradle
├── core
│   ├── src
│   ├── build.gradle
│   └── settings.gradle
├── build.gradle
└── settings.gradle

由于核心模块是独立的并且有自己的repo,所以我必须能够将其视为Gradle根项目;因此它有自己的 settings.gradle .但是当我在根项目中工作时,我希望它表现为后者的子项目(以便在 gradle 目录中运行 core 将其识别为 :core 子项目,使用父目录中的 settings.gradle )。并且不改变 core 的内容(这将是一个 git 子模块)。

我不想在 core 中创建一个单独的分支的 git repo 中没有 settings.gradle ,因为在那个分支中,repo 本身没有意义,而且, core不应该“需要知道任何东西”关于根项目。

理想的解决方案是 git 子模块的替代版本,其中对子模块的自定义更改可以单独提交到父 ​​repo,而不会影响子模块的原始 repo。 (具有将子模块中的上游更改与本地提交合并的能力。)然后我将添加一个这样的“本地”提交,以删除 core/settings.gradle文件。

有没有办法做到这一点?

最佳答案

这里的一种解决方案是将所有模块开发为具有独立 Git 存储库的完全独立的项目。然后使用 Maven 导入 core图书馆进入 project .您甚至应该考虑发布 core到一个私有(private) Maven 存储库,您可以将它添加到您的 build.gradle文件在 project .

关于gradle - 如何在 Gradle 多项目中制作完全独立的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59620540/

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