Package org.gradle.plugins.ide.idea

## 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<T>
        - - org.gradle.plugins.ide.api.XmlGeneratorTask<Module>
          - - org.gradle.plugins.ide.idea.GenerateIdeaModule

- All Implemented Interfaces:
    `java.lang.Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.IConventionAware`, `org.gradle.api.internal.TaskInternal`, `ExtensionAware`, `Task`, `Configurable<Task>`

      @DisableCachingByDefault(because="Not made cacheable, yet")
      public abstract class GenerateIdeaModule
      extends XmlGeneratorTask<Module>

  Generates an IDEA module file. If you want to fine tune the idea configuration

  Please refer to interesting examples on idea configuration in `IdeaModule`.

  At this moment nearly all configuration is done via `IdeaModule`.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Task

      `Task.Namer`

  - ### Field Summary

    - ### Fields inherited from class org.gradle.plugins.ide.api.GeneratorTask

      `afterConfigured, beforeConfigured, domainObject, generator`

    - ### Fields inherited from interface org.gradle.api.Task

      `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GenerateIdeaModule()` |
    `GenerateIdeaModule​(IdeaModule module)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `configure​(Module xmlModule)` |
    `protected Module` | `create()` |
    `IdeaModule` | `getModule()` | The Idea module model containing the details required to generate the module file.
    `java.io.File` | `getOutputFile()` | Configures output *.iml file.
    `org.gradle.internal.xml.XmlTransformer` | `getXmlTransformer()` |
    `void` | `setModule​(IdeaModule module)` |
    `void` | `setOutputFile​(java.io.File newOutputFile)` | Sets the output file to write the final configuration to.

    - ### Methods inherited from class org.gradle.plugins.ide.api.GeneratorTask

      `getIncremental, getInputFile, getInputFileIfExists, getInstantiator, setInputFile`

    - ### Methods inherited from class org.gradle.api.internal.ConventionTask

      `conventionMapping, conventionMapping, getConventionMapping`

    - ### Methods inherited from class org.gradle.api.DefaultTask

      `compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

    - ### Methods inherited from class org.gradle.api.internal.AbstractTask

      `appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.gradle.api.Task

      `doNotTrackState, getConvention, notCompatibleWithConfigurationCache`

- - ### Constructor Detail

    - #### GenerateIdeaModule

          public GenerateIdeaModule()

    - #### GenerateIdeaModule

          @Inject
          public GenerateIdeaModule​(IdeaModule module)

  - ### Method Detail

    - #### create

          protected Module create()

      Specified by:
        `create` in class `XmlGeneratorTask<Module>`

    - #### configure

          protected void configure​(Module xmlModule)

      Specified by:
        `configure` in class `XmlGeneratorTask<Module>`

    - #### getXmlTransformer

          public org.gradle.internal.xml.XmlTransformer getXmlTransformer()

      Overrides:
        `getXmlTransformer` in class `XmlGeneratorTask<Module>`

    - #### getOutputFile

          public 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 idea.module.name property.

      Please refer to documentation in `IdeaModule` name property. In IntelliJ IDEA the module name is the same as the name of the *.iml file.

      Overrides:
        `getOutputFile` in class `GeneratorTask<Module>`
      Returns:
        The output file.

    - #### setOutputFile

          public void setOutputFile​(java.io.File newOutputFile)

      Description copied from class: `GeneratorTask`
      Sets the output file to write the final configuration to.
      Overrides:
        `setOutputFile` in class `GeneratorTask<Module>`
      Parameters:
        `newOutputFile` - The output file.

    - #### getModule

          @Internal
          public IdeaModule getModule()

      The Idea module model containing the details required to generate the module file.

    - #### setModule

          public void setModule​(IdeaModule module)