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

时间:2019-12-17 18:06:10

标签: java gradle intellij-idea minecraft

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

1 个答案:

答案 0 :(得分:0)

Gradle在同一多项目版本中不支持多个Gradle版本。复合版本中也不支持此功能。

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