如何在多项目项目中有两个不同的 Gradle 版本?



我目前正在尝试确定使用Forge模组框架制作特定类型的Minecraft模组的可行性。这个框架的特点之一是它需要一个自定义的 Gradle 插件来构建模组(出于各种与版权相关的原因,因为 Minecraft 不是 FOSS(,但这个 Gradle 插件仅适用于古代版本的 Gradle。此外,我希望能够在同一代码库中针对多个 Minecraft 版本(本质上,在共享 Java 库项目中保留尽可能多的通用代码(,但这需要我有两个具有不同版本的 ForgeGradle(Forge 的 Gradle 插件(的子项目,当然这些版本需要不同的 Gradle 版本。我也更喜欢将最新的 Gradle 用于该项目的非 Forge 部分,当然,这与 ForgeGradle 不兼容。因此,我问,如何在多项目 Gradle 项目中为不同的子项目提供不同版本的 Gradle?如果这是不可能的,我怎样才能以 IDE 友好和单 git 存储库友好的方式(主要是 IntelliJ Idea 社区版(自动连接这些项目?我打算将存储库的版本作为一个单元进行跟踪,因此需要将它们放在同一个 git 存储库中。

Gradle不支持在同一多项目构建中有多个 Gradle 版本。这在复合版本中也不受欢迎。

考虑到这些限制,最简单的解决方案是使用您发布到的本地存储库,并从中获取跨项目依赖项。

最新更新