Package: org.gradle.plugins.ide.idea

## [Groovy] Class IdeaPlugin

- org.gradle.plugins.ide.idea.IdeaPlugin

- Adds a GenerateIdeaModule task. When applied to a root project, also adds a GenerateIdeaProject task. For projects that have the Java plugin applied, the tasks receive additional Java-specific configuration.

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class org.gradle.plugins.ide.internal.IdePlugin` | `__$stMC`

  - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `IdeaModel` | `model`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `IdeaPlugin (org.gradle.internal.reflect.Instantiator instantiator)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `protected String` | `getLifecycleTaskName()`
    `void` | `hookDeduplicationToTheRoot(Project project)`
    `void` | `makeSureModuleNamesAreUnique()`
    `protected void` | `onApply(Project project)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class org.gradle.plugins.ide.internal.IdePlugin` | `org.gradle.plugins.ide.internal.IdePlugin#setProperty(java.lang.String, java.lang.Object), org.gradle.plugins.ide.internal.IdePlugin#getProperty(java.lang.String), org.gradle.plugins.ide.internal.IdePlugin#invokeMethod(java.lang.String, java.lang.Object), org.gradle.plugins.ide.internal.IdePlugin#apply(java.lang.Object), org.gradle.plugins.ide.internal.IdePlugin#apply(org.gradle.api.Project), org.gradle.plugins.ide.internal.IdePlugin#getMetaClass(), org.gradle.plugins.ide.internal.IdePlugin#setMetaClass(groovy.lang.MetaClass), org.gradle.plugins.ide.internal.IdePlugin#getLifecycleTask(), org.gradle.plugins.ide.internal.IdePlugin#getCleanTask(org.gradle.api.Task), org.gradle.plugins.ide.internal.IdePlugin#getCleanTask(), org.gradle.plugins.ide.internal.IdePlugin#wait(long, int), org.gradle.plugins.ide.internal.IdePlugin#wait(long), org.gradle.plugins.ide.internal.IdePlugin#wait(), org.gradle.plugins.ide.internal.IdePlugin#equals(java.lang.Object), org.gradle.plugins.ide.internal.IdePlugin#toString(), org.gradle.plugins.ide.internal.IdePlugin#hashCode(), org.gradle.plugins.ide.internal.IdePlugin#getClass(), org.gradle.plugins.ide.internal.IdePlugin#notify(), org.gradle.plugins.ide.internal.IdePlugin#notifyAll()`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Property Detail

    - #### IdeaModel model

  - ### Constructor Detail

    - #### @javax.inject.Inject IdeaPlugin(org.gradle.internal.reflect.Instantiator instantiator)

  - ### Method Detail

    - #### @Override protected String getLifecycleTaskName()

    - #### void hookDeduplicationToTheRoot(Project project)

    - #### void makeSureModuleNamesAreUnique()

    - #### @Override protected void onApply(Project project)