API文档: | IdeaProject |
---|
启用 IDEA 插件的项目详细信息(*.ipr 文件)的微调。
混合所有可能属性的使用示例。通常,您不必直接配置 IDEA 模块,因为 Gradle 会为您配置它。
import org.gradle.plugins.ide.idea.model.* plugins { id 'java' id 'idea' } idea { project { //if you want to set specific jdk and language level jdkName = '1.6' languageLevel = '1.5' //you can update the source wildcards wildcards += '!?*.ruby' //you can configure the VCS used by the project vcs = 'Git' //you can change the modules of the *.ipr //modules = project(':some-project').idea.module //you can change the output file outputFile = new File(outputFile.parentFile, 'someBetterName.ipr') //you can add project-level libraries projectLibraries << new ProjectLibrary(name: "my-library", classes: [new File("path/to/library")]) } }
为了解决边缘情况,用户可以对生成的 XML 文件执行高级配置。还可以通过 beforeMerged 和 whenMerged 闭包影响 IDEA 插件合并现有配置的方式。
beforeMerged 和whenMerged 闭包接收Project
对象
高级配置示例:
plugins { id 'java' id 'idea' } idea { project { ipr { //you can tinker with the output *.ipr file before it's written out withXml { def node = it.asNode() node.appendNode('iLove', 'tinkering with the output *.ipr file!') } //closure executed after *.ipr content is loaded from existing file //but before gradle build information is merged beforeMerged { project -> //you can tinker with Project } //closure executed after *.ipr content is loaded from existing file //and after gradle build information is merged whenMerged { project -> //you can tinker with Project } } } }
财产 | 描述 |
ipr | |
jdkName | 用于定义项目sdk的java版本。 |
languageLevel | 用于此项目的默认 Java 语言级别。 |
modules | ipr 文件的模块。 |
outputFile | 输出*.ipr |
projectLibraries | 要添加到 IDEA 项目的项目级库。 |
targetBytecodeVersion | 用于此项目的目标字节码版本。 |
vcs | 该项目的 vcs。 |
wildcards | 通配符资源模式。 |
方法 | 描述 |
ipr(action) | 启用高级配置,例如修改输出 XML 或影响现有 *.ipr 内容与 Gradle 构建信息合并的方式。 |
堵塞 | 描述 |
ipr | 启用高级配置,例如修改输出 XML 或影响现有 *.ipr 内容与 Gradle 构建信息合并的方式。 |
String
jdkName
用于定义项目sdk的java版本。
请参阅文档中的示例IdeaProject
- 默认使用
idea
插件: - 例如,用于运行 Gradle 的 Java 版本
'1.6'
- 默认使用
idea
和java
插件: - 例如,用于运行 Gradle 的 Java 版本
'1.6'
IdeaLanguageLevel
languageLevel
用于此项目的默认 Java 语言级别。
一般情况下,不建议更改该值。相反,我们鼓励您为 Gradle 项目设置sourceCompatibility
和targetCompatibility
,这样您就可以完全控制 Gradle 项目中的语言级别,并且意味着 Gradle 和 IDEA 将在编译时使用相同的设置。
如果未明确设置,则将此值计算为该 Idea 项目的 Idea 模块的最大语言级别。
- 默认使用
idea
插件: JavaVersion.JAVA_1_6
- 默认使用
idea
和java
插件: project.sourceCompatibility
Set
<ProjectLibrary
>
projectLibraries
Set
<ProjectLibrary
>要添加到 IDEA 项目的项目级库。
- 默认使用
idea
插件: []
([scala-library]
带scala-base
插件)- 默认使用
idea
和java
插件: []
([scala-library]
带scala-base
插件)
JavaVersion
targetBytecodeVersion
用于此项目的目标字节码版本。
一般情况下,不建议更改该值。相反,我们鼓励您为 Gradle 项目设置sourceCompatibility
和targetCompatibility
,这样您就可以完全控制 Gradle 项目中的语言级别,并且意味着 Gradle 和 IDEA 将在编译时使用相同的设置。
当languageLevel
未明确设置时,这将被计算为本 Idea 项目的 Idea 模块的最大目标字节码版本。
- 默认使用
idea
插件: JavaVersion.JAVA_1_6
- 默认使用
idea
和java
插件: project.targetCompatibility
所有 java 子项目的最高值或JavaVersion.JAVA_1_6
如果未找到 java 项目。
void
ipr
(行动)Action
<? super XmlFileContentMerger
>
Action
<? super XmlFileContentMerger
>启用高级配置,例如修改输出 XML 或影响现有 *.ipr 内容与 Gradle 构建信息合并的方式。
请参阅文档中的示例IdeaProject
启用高级配置,例如修改输出 XML 或影响现有 *.ipr 内容与 Gradle 构建信息合并的方式。
请参阅文档中的示例IdeaProject