API 文档 | IdeaProject |
---|
用于微调 IDEA 插件的项目详情(*.ipr 文件)。
包含所有可能属性的混合用法示例。通常您无需直接配置 IDEA module,因为 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 文件的 modules。 |
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
List
<IdeaModule
>
modules
List
<IdeaModule
>ipr 文件的 modules。
参见 IdeaProject
文档中的示例
- 使用
idea
插件时的默认值 project.allprojects.idea.module
File
outputFile
输出 *.ipr
参见 IdeaProject
文档中的示例。
- 使用
idea
插件时的默认值 ${project.projectDir}
/${project.name}
.ipr
Set
<ProjectLibrary
>
projectLibraries
Set
<ProjectLibrary
>要添加到 IDEA 项目的项目级库。
- 使用
idea
插件时的默认值 []
(使用scala-base
插件时为[scala-library]
)- 使用
idea
和java
插件时的默认值 []
(使用scala-base
插件时为[scala-library]
)
JavaVersion
targetBytecodeVersion
此项目要使用的目标字节码版本。
通常不建议修改此值。建议您为 Gradle 项目设置 sourceCompatibility
和 targetCompatibility
,这使您能够完全控制 Gradle 项目中的语言级别,并且意味着 Gradle 和 IDEA 在编译时将使用相同的设置。
未明确设置 languageLevel
时,此值将计算为该 Idea 项目所有 Idea 模块的最大目标字节码版本。
- 使用
idea
插件时的默认值 JavaVersion.JAVA_1_6
- 使用
idea
和java
插件时的默认值 - 所有 Java 子项目中的最高
project.targetCompatibility
值,如果未找到 Java 项目,则为JavaVersion.JAVA_1_6
。
String
vcs
项目的 VCS。
值与 IDEA 的“Version Control”偏好设置窗口中使用的值相同(例如,“Git”,“Subversion”)。
参见 IdeaProject
文档中的示例。
void
ipr
(Action
<? super XmlFileContentMerger
>
action)
Action
<? super XmlFileContentMerger
>启用高级配置,例如修改输出 XML 或影响现有 *.ipr 内容与 Gradle 构建信息合并的方式。
参见 IdeaProject
文档中的示例
启用高级配置,例如修改输出 XML 或影响现有 *.ipr 内容与 Gradle 构建信息合并的方式。
参见 IdeaProject
文档中的示例
- 委托给
- 来自
ipr
的XmlFileContentMerger