使用gradle的IDEA插件进行深度嵌套项目

wit*_*dle 2 intellij-idea gradle

我们有一个像这样的项目结构:

root
    core
        auth
        ...
Run Code Online (Sandbox Code Playgroud)

在root的build.gradle文件中:

allprojects {
    apply plugin: 'idea'
}
Run Code Online (Sandbox Code Playgroud)

及其settings.gradle:

include 'core'
Run Code Online (Sandbox Code Playgroud)

核心有一个gradle.build文件和一个settings.gradle:

include 'auth'
Run Code Online (Sandbox Code Playgroud)

所以,当我从根运行时:

gradle idea
Run Code Online (Sandbox Code Playgroud)

它将在根目录下构建ipr,iws和iml文件,核心文件夹将具有core.iml.但是auth模块没有被创建.我必须进入intellij并手动将模块添加到核心.有点烦人.gradle是否支持这样的深层嵌套项目,或者这是IDEA插件的限制?或者,很可能,我做错了什么:)

wit*_*dle 5

弄清楚了.我会说这是最好的谷歌搜索结果:一个深度嵌套的gradle项目只能在根目录下有一个settings.gradle文件,它看起来像这样:

include 'core'
include 'core:auth'
Run Code Online (Sandbox Code Playgroud)

完成此操作后,gradle将读入所有子项目并相应地配置IDEA.