gradle,idea插件和多项目设置

时间:2016-05-10 00:39:42

标签: intellij-idea gradle

我正在尝试设置一个支持创意的多模块gradle项目。它一直有效,直到我在混合中添加项目范围的gradle.properties。这是一个例子:

gradle.properties:

javaVersion = 1.8

gradle.settings:

include 'module_a'

的build.gradle:

allprojects {
  apply plugin: 'idea'
  idea {
    project {
      jdkName = javaVersion
    }
  }
}

module_a是一个空的子文件夹。

gradle idea失败了:

Build file 'project/build.gradle' line: 7

* What went wrong:
A problem occurred evaluating root project 'project'.
> Cannot set property 'jdkName' on null object

可能是什么原因?

问题2:子项目是否可以修改全局idea任务,例如

idea.module.generatedSourceDirs += file('srm/main/java.generated')

如果放在module_a

,它是否只会影响module_a/build.gradle

由于

1 个答案:

答案 0 :(得分:2)

您不能在每个子项目上设置“jdkName”,它只应在根项目上设置如下:

idea {
  project {
    jdkName = "1.8"
    languageLevel = "1.8"
  }
  module {
    name = "My root project name"
  }
}

在子项目中,您可以配置其他内容,例如

idea.module.testSourceDirs = idea.module.testSourceDirs+idea.module.sourceDirs
idea.module.sourceDirs = [] as Set