Groovy Documentation

org.gradle.plugins.ide.idea
[Groovy] Class GenerateIdeaModule

java.lang.Object
  org.gradle.api.internal.AbstractTask
      org.gradle.api.DefaultTask
          org.gradle.api.internal.ConventionTask
              org.gradle.plugins.ide.api.GeneratorTask
                  org.gradle.plugins.ide.api.XmlGeneratorTask
                      org.gradle.plugins.ide.idea.GenerateIdeaModule

class GenerateIdeaModule
extends XmlGeneratorTask

Generates an IDEA module file.

Example how to use scopes property to enable 'provided' dependencies in the output *.iml file:

 apply plugin: 'java'
 apply plugin: 'idea'

 configurations {
   provided
   provided.extendsFrom(compile)
 }

 dependencies {
   //provided "some.interesting:dependency:1.0"
 }

 ideaModule {
   scopes.PROVIDED.plus += configurations.provided
 }
 
Authors:
Hans Dockter


Field Summary
 
Fields inherited from class GeneratorTask
afterConfigured, beforeConfigured, domainObject, generator
 
Fields inherited from class org.gradle.api.internal.ConventionTask
TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION
 
Fields inherited from class DefaultTask
TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION
 
Fields inherited from class org.gradle.api.internal.AbstractTask
TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION
 
Property Summary
IdeaModule module

Idea module model

 
Method Summary
protected void configure(Module xmlModule)

protected Module create()

boolean getDownloadJavadoc()

Whether to download and add javadoc associated with the dependency jars.

boolean getDownloadSources()

Whether to download and add sources associated with the dependency jars.

java.util.Set getExcludeDirs()

The directories to be excluded.

java.lang.Boolean getInheritOutputDirs()

If true, output directories for this module will be located below the output directory for the project; otherwise, they will be set to the directories specified by #outputDir and #testOutputDir.

java.lang.String getJavaVersion()

The JDK to use for this module.

java.io.File getModuleDir()

The content root directory of the module.

java.lang.String getModuleName()

Configures module name.

java.io.File getOutputDir()

The output directory for production classes.

java.io.File getOutputFile()

Configures output *.iml file.

java.util.Map getScopes()

The keys of this map are the IDEA scopes.

java.util.Set getSourceDirs()

The directories containing the production sources.

java.io.File getTestOutputDir()

The output directory for test classes.

java.util.Set getTestSourceDirs()

The directories containing the test sources.

java.util.Map getVariables()

The variables to be used for replacing absolute paths in the iml entries.

void setDownloadJavadoc(boolean downloadJavadoc)

void setDownloadSources(boolean downloadSources)

void setExcludeDirs(java.util.Set excludeDirs)

void setInheritOutputDirs(java.lang.Boolean inheritOutputDirs)

void setJavaVersion(java.lang.String javaVersion)

void setModuleDir(java.io.File contentRoot)

void setModuleName(java.lang.String moduleName)

void setOutputDir(java.io.File outputDir)

void setOutputFile(java.io.File newOutputFile)

void setScopes(java.util.Map scopes)

void setSourceDirs(java.util.Set sourceDirs)

void setTestOutputDir(java.io.File testOutputDir)

void setTestSourceDirs(java.util.Set testSourceDirs)

void setVariables(java.util.Map variables)

 
Methods inherited from class XmlGeneratorTask
configure, create, getXmlTransformer, withXml, withXml
 
Methods inherited from class GeneratorTask
beforeConfigured, beforeConfigured, getInputFile, getOutputFile, setInputFile, setOutputFile, whenConfigured, whenConfigured
 
Methods inherited from class org.gradle.api.internal.ConventionTask
org.gradle.api.internal.ConventionTask#conventionMapping(java.lang.String, org.gradle.api.tasks.ConventionValue), org.gradle.api.internal.ConventionTask#getConventionMapping(), org.gradle.api.internal.ConventionTask#setConventionMapping(org.gradle.api.internal.ConventionMapping), org.gradle.api.internal.ConventionTask#setProperty(java.lang.String, java.lang.Object), org.gradle.api.internal.ConventionTask#toString(), org.gradle.api.internal.ConventionTask#compareTo(org.gradle.api.Task), org.gradle.api.internal.ConventionTask#compareTo(java.lang.Object), org.gradle.api.internal.ConventionTask#getName(), org.gradle.api.internal.ConventionTask#getActions(), org.gradle.api.internal.ConventionTask#getState(), org.gradle.api.internal.ConventionTask#setName(java.lang.String), org.gradle.api.internal.ConventionTask#getPath(), org.gradle.api.internal.ConventionTask#getLogger(), org.gradle.api.internal.ConventionTask#execute(), org.gradle.api.internal.ConventionTask#isEnabled(), org.gradle.api.internal.ConventionTask#configure(groovy.lang.Closure), org.gradle.api.internal.ConventionTask#configure(groovy.lang.Closure), org.gradle.api.internal.ConventionTask#property(java.lang.String), org.gradle.api.internal.ConventionTask#getDescription(), org.gradle.api.internal.ConventionTask#captureStandardOutput(org.gradle.api.logging.LogLevel), org.gradle.api.internal.ConventionTask#disableStandardOutputCapture(), org.gradle.api.internal.ConventionTask#setEnabled(boolean), org.gradle.api.internal.ConventionTask#setDescription(java.lang.String), org.gradle.api.internal.ConventionTask#getProject(), org.gradle.api.internal.ConventionTask#getGroup(), org.gradle.api.internal.ConventionTask#setGroup(java.lang.String), org.gradle.api.internal.ConventionTask#dependsOn([Ljava.lang.Object;), org.gradle.api.internal.ConventionTask#getAnt(), org.gradle.api.internal.ConventionTask#getConvention(), org.gradle.api.internal.ConventionTask#hasProperty(java.lang.String), org.gradle.api.internal.ConventionTask#getLogging(), org.gradle.api.internal.ConventionTask#setActions(java.util.List), org.gradle.api.internal.ConventionTask#getTaskDependencies(), org.gradle.api.internal.ConventionTask#getTaskDependencies(), org.gradle.api.internal.ConventionTask#getDependsOn(), org.gradle.api.internal.ConventionTask#setDependsOn(java.lang.Iterable), org.gradle.api.internal.ConventionTask#onlyIf(groovy.lang.Closure), org.gradle.api.internal.ConventionTask#onlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.ConventionTask#setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.ConventionTask#setOnlyIf(groovy.lang.Closure), org.gradle.api.internal.ConventionTask#setDidWork(boolean), org.gradle.api.internal.ConventionTask#getDidWork(), org.gradle.api.internal.ConventionTask#doFirst(org.gradle.api.Action), org.gradle.api.internal.ConventionTask#doFirst(groovy.lang.Closure), org.gradle.api.internal.ConventionTask#doLast(org.gradle.api.Action), org.gradle.api.internal.ConventionTask#doLast(groovy.lang.Closure), org.gradle.api.internal.ConventionTask#leftShift(groovy.lang.Closure), org.gradle.api.internal.ConventionTask#deleteAllActions(), org.gradle.api.internal.ConventionTask#getEnabled(), org.gradle.api.internal.ConventionTask#dependsOnTaskDidWork(), org.gradle.api.internal.ConventionTask#getInputs(), org.gradle.api.internal.ConventionTask#getOutputs(), org.gradle.api.internal.ConventionTask#getOutputs(), org.gradle.api.internal.ConventionTask#getTemporaryDir(), org.gradle.api.internal.ConventionTask#setProject(org.gradle.api.Project), org.gradle.api.internal.ConventionTask#getStandardOutputCapture(), org.gradle.api.internal.ConventionTask#getAdditionalProperties(), org.gradle.api.internal.ConventionTask#getDynamicObjectHelper(), org.gradle.api.internal.ConventionTask#setConvention(org.gradle.api.plugins.Convention), org.gradle.api.internal.ConventionTask#getAsDynamicObject(), org.gradle.api.internal.ConventionTask#addValidator(org.gradle.api.internal.tasks.execution.TaskValidator), org.gradle.api.internal.ConventionTask#getValidators(), org.gradle.api.internal.ConventionTask#getExecuter(), org.gradle.api.internal.ConventionTask#setExecuter(org.gradle.api.internal.tasks.TaskExecuter), org.gradle.api.internal.ConventionTask#getOnlyIf(), org.gradle.api.internal.ConventionTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, java.lang.String, java.util.concurrent.Callable), org.gradle.api.internal.ConventionTask#wait(long), org.gradle.api.internal.ConventionTask#wait(long, int), org.gradle.api.internal.ConventionTask#wait(), org.gradle.api.internal.ConventionTask#equals(java.lang.Object), org.gradle.api.internal.ConventionTask#hashCode(), org.gradle.api.internal.ConventionTask#getClass(), org.gradle.api.internal.ConventionTask#notify(), org.gradle.api.internal.ConventionTask#notifyAll()
 
Methods inherited from class DefaultTask
setProperty, toString, compareTo, compareTo, getName, getActions, getState, setName, getPath, getLogger, execute, isEnabled, configure, configure, property, getDescription, captureStandardOutput, disableStandardOutputCapture, setEnabled, setDescription, getProject, getGroup, setGroup, dependsOn, getAnt, getConvention, hasProperty, getLogging, setActions, getTaskDependencies, getTaskDependencies, getDependsOn, setDependsOn, onlyIf, onlyIf, setOnlyIf, setOnlyIf, setDidWork, getDidWork, doFirst, doFirst, doLast, doLast, leftShift, deleteAllActions, getEnabled, dependsOnTaskDidWork, getInputs, getOutputs, getOutputs, getTemporaryDir, setProject, getStandardOutputCapture, getAdditionalProperties, getDynamicObjectHelper, setConvention, getAsDynamicObject, addValidator, getValidators, getExecuter, setExecuter, getOnlyIf, injectIntoNewInstance, wait, wait, wait, equals, hashCode, getClass, notify, notifyAll
 
Methods inherited from class org.gradle.api.internal.AbstractTask
org.gradle.api.internal.AbstractTask#setProperty(java.lang.String, java.lang.Object), org.gradle.api.internal.AbstractTask#toString(), org.gradle.api.internal.AbstractTask#compareTo(org.gradle.api.Task), org.gradle.api.internal.AbstractTask#compareTo(java.lang.Object), org.gradle.api.internal.AbstractTask#getName(), org.gradle.api.internal.AbstractTask#getActions(), org.gradle.api.internal.AbstractTask#getState(), org.gradle.api.internal.AbstractTask#setName(java.lang.String), org.gradle.api.internal.AbstractTask#getPath(), org.gradle.api.internal.AbstractTask#getLogger(), org.gradle.api.internal.AbstractTask#execute(), org.gradle.api.internal.AbstractTask#isEnabled(), org.gradle.api.internal.AbstractTask#configure(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#configure(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#property(java.lang.String), org.gradle.api.internal.AbstractTask#getDescription(), org.gradle.api.internal.AbstractTask#captureStandardOutput(org.gradle.api.logging.LogLevel), org.gradle.api.internal.AbstractTask#disableStandardOutputCapture(), org.gradle.api.internal.AbstractTask#setEnabled(boolean), org.gradle.api.internal.AbstractTask#setDescription(java.lang.String), org.gradle.api.internal.AbstractTask#getProject(), org.gradle.api.internal.AbstractTask#getGroup(), org.gradle.api.internal.AbstractTask#setGroup(java.lang.String), org.gradle.api.internal.AbstractTask#dependsOn([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#getAnt(), org.gradle.api.internal.AbstractTask#getConvention(), org.gradle.api.internal.AbstractTask#hasProperty(java.lang.String), org.gradle.api.internal.AbstractTask#getLogging(), org.gradle.api.internal.AbstractTask#setActions(java.util.List), org.gradle.api.internal.AbstractTask#getTaskDependencies(), org.gradle.api.internal.AbstractTask#getTaskDependencies(), org.gradle.api.internal.AbstractTask#getDependsOn(), org.gradle.api.internal.AbstractTask#setDependsOn(java.lang.Iterable), org.gradle.api.internal.AbstractTask#onlyIf(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#onlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.AbstractTask#setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.AbstractTask#setOnlyIf(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#setDidWork(boolean), org.gradle.api.internal.AbstractTask#getDidWork(), org.gradle.api.internal.AbstractTask#doFirst(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#doFirst(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#doLast(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#doLast(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#leftShift(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#deleteAllActions(), org.gradle.api.internal.AbstractTask#getEnabled(), org.gradle.api.internal.AbstractTask#dependsOnTaskDidWork(), org.gradle.api.internal.AbstractTask#getInputs(), org.gradle.api.internal.AbstractTask#getOutputs(), org.gradle.api.internal.AbstractTask#getOutputs(), org.gradle.api.internal.AbstractTask#getTemporaryDir(), org.gradle.api.internal.AbstractTask#setProject(org.gradle.api.Project), org.gradle.api.internal.AbstractTask#getStandardOutputCapture(), org.gradle.api.internal.AbstractTask#getAdditionalProperties(), org.gradle.api.internal.AbstractTask#getDynamicObjectHelper(), org.gradle.api.internal.AbstractTask#setConvention(org.gradle.api.plugins.Convention), org.gradle.api.internal.AbstractTask#getAsDynamicObject(), org.gradle.api.internal.AbstractTask#addValidator(org.gradle.api.internal.tasks.execution.TaskValidator), org.gradle.api.internal.AbstractTask#getValidators(), org.gradle.api.internal.AbstractTask#getExecuter(), org.gradle.api.internal.AbstractTask#setExecuter(org.gradle.api.internal.tasks.TaskExecuter), org.gradle.api.internal.AbstractTask#getOnlyIf(), org.gradle.api.internal.AbstractTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, java.lang.String, java.util.concurrent.Callable), org.gradle.api.internal.AbstractTask#wait(long), org.gradle.api.internal.AbstractTask#wait(long, int), org.gradle.api.internal.AbstractTask#wait(), org.gradle.api.internal.AbstractTask#equals(java.lang.Object), org.gradle.api.internal.AbstractTask#hashCode(), org.gradle.api.internal.AbstractTask#getClass(), org.gradle.api.internal.AbstractTask#notify(), org.gradle.api.internal.AbstractTask#notifyAll()
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Property Detail

module

IdeaModule module
Idea module model


 
Method Detail

configure

@Override
protected void configure(Module xmlModule)


create

@Override
protected Module create()


getDownloadJavadoc

boolean getDownloadJavadoc()
Whether to download and add javadoc associated with the dependency jars.


getDownloadSources

boolean getDownloadSources()
Whether to download and add sources associated with the dependency jars.


getExcludeDirs

java.util.Set getExcludeDirs()
The directories to be excluded.


getInheritOutputDirs

java.lang.Boolean getInheritOutputDirs()
If true, output directories for this module will be located below the output directory for the project; otherwise, they will be set to the directories specified by #outputDir and #testOutputDir.


getJavaVersion

java.lang.String getJavaVersion()
The JDK to use for this module. If null, the value of the existing or default ipr XML (inherited) is used. If it is set to inherited, the project SDK is used. Otherwise the SDK for the corresponding value of java version is used for this module


getModuleDir

java.io.File getModuleDir()
The content root directory of the module.


getModuleName

java.lang.String getModuleName()
Configures module name. It's optional because the task should configure it correctly for you. By default it will try to use the project.name or prefix it with a part of a project.path to make sure the moduleName is unique in the scope of a multi-module build. The 'uniqeness' of a module name is required for correct import into IntelliJ IDEA and the task will make sure the name is unique. See example below...

moduleName is a synthethic property that actually modifies the outputFile property value. This means that you should not configure both moduleName and outputFile at the same time. moduleName is recommended.

However, in case you really need to override the default moduleName this is the way to go:

 apply plugin: 'idea'

 ideaModule {
   moduleName = 'some-important-project'
 }
 

since 1.0-milestone-2


getOutputDir

java.io.File getOutputDir()
The output directory for production classes. If null, no entry will be created.


getOutputFile

java.io.File getOutputFile()
Configures output *.iml file. It's optional because the task should configure it correctly for you (including making sure it is unique in the multi-module build). If you really need to change the output file name it is much easier to do it via the moduleName property.

Please refer to documentation on moduleName property. In IntelliJ IDEA the module name is the same as the name of the *.iml file.


getScopes

java.util.Map getScopes()
The keys of this map are the IDEA scopes. Each key points to another map that has two keys, plus and minus. The values of those keys are collections of Configuration objects. The files of the plus configurations are added minus the files from the minus configurations. See example below...

Example how to use scopes property to enable 'provided' dependencies in the output *.iml file:

 apply plugin: 'java'
 apply plugin: 'idea'

 configurations {
   provided
   provided.extendsFrom(compile)
 }

 dependencies {
   //provided "some.interesting:dependency:1.0"
 }

 ideaModule {
   scopes.PROVIDED.plus += configurations.provided
 }
 


getSourceDirs

java.util.Set getSourceDirs()
The directories containing the production sources.


getTestOutputDir

java.io.File getTestOutputDir()
The output directory for test classes. If null, no entry will be created.


getTestSourceDirs

java.util.Set getTestSourceDirs()
The directories containing the test sources.


getVariables

java.util.Map getVariables()
The variables to be used for replacing absolute paths in the iml entries. For example, you might add a GRADLE_USER_HOME variable to point to the Gradle user home dir.


setDownloadJavadoc

void setDownloadJavadoc(boolean downloadJavadoc)


setDownloadSources

void setDownloadSources(boolean downloadSources)


setExcludeDirs

void setExcludeDirs(java.util.Set excludeDirs)


setInheritOutputDirs

void setInheritOutputDirs(java.lang.Boolean inheritOutputDirs)


setJavaVersion

void setJavaVersion(java.lang.String javaVersion)


setModuleDir

void setModuleDir(java.io.File contentRoot)


setModuleName

void setModuleName(java.lang.String moduleName)


setOutputDir

void setOutputDir(java.io.File outputDir)


setOutputFile

void setOutputFile(java.io.File newOutputFile)


setScopes

void setScopes(java.util.Map scopes)


setSourceDirs

void setSourceDirs(java.util.Set sourceDirs)


setTestOutputDir

void setTestOutputDir(java.io.File testOutputDir)


setTestSourceDirs

void setTestSourceDirs(java.util.Set testSourceDirs)


setVariables

void setVariables(java.util.Map variables)


 

Groovy Documentation