Package org.gradle.api.tasks.compile

## Class GroovyCompile

- java.lang.Object
- - org.gradle.api.internal.AbstractTask
  - - org.gradle.api.DefaultTask
    - - org.gradle.api.internal.ConventionTask
      - - org.gradle.api.tasks.SourceTask
        - - org.gradle.api.tasks.compile.AbstractCompile
          - - org.gradle.api.tasks.compile.GroovyCompile

- All Implemented Interfaces:
    `PatternFilterable`

      @CacheableTask
      public class GroovyCompile
      extends AbstractCompile

  Compiles Groovy source files, and optionally, Java source files.

- - ### Nested Class Summary

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

      `Task.Namer`

  - ### Field Summary

    - ### 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
    --- | ---
    `GroovyCompile​()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `compile​()` |
    `org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.compile.GroovyJavaJointCompileSpec>` | `getCompiler​()` |
    `FileCollection` | `getGroovyClasspath​()` | Returns the classpath containing the version of Groovy to use for compilation.
    `protected java.lang.String` | `getGroovyCompilerJvmVersion​()` | We need to track the Java version of the JVM the Groovy compiler is running on, since the Groovy compiler produces different results depending on it.
    `GroovyCompileOptions` | `getGroovyOptions​()` | Gets the options for the Groovy compilation.
    `protected JavaToolChain` | `getJavaToolChain​()` | We need to track the toolchain used by the Groovy compiler to compile Java sources.
    `protected org.gradle.api.internal.tasks.JavaToolChainFactory` | `getJavaToolChainFactory​()` |
    `CompileOptions` | `getOptions​()` | Returns the options for Java compilation.
    `FileTree` | `getSource​()` | Returns the source for this task, after the include and exclude patterns have been applied.
    `void` | `setCompiler​(org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.compile.GroovyJavaJointCompileSpec> compiler)` |
    `void` | `setGroovyClasspath​(FileCollection groovyClasspath)` | Sets the classpath containing the version of Groovy to use for compilation.

    - ### Methods inherited from class org.gradle.api.tasks.compile.AbstractCompile

      `getClasspath, getDestinationDir, getSourceCompatibility, getTargetCompatibility, setClasspath, setDestinationDir, setDestinationDir, setSourceCompatibility, setTargetCompatibility`

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

      `appendParallelSafeAction, compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTaskIdentity, getTemporaryDir, getTemporaryDirFactory, getTimeout, hasProperty, hasTaskActions, injectIntoNewInstance, isEnabled, isHasCustomActions, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, replaceLogger, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString`

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

      `conventionMapping, conventionMapping, getConventionMapping`

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

      `newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

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

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

    - ### Methods inherited from class org.gradle.api.tasks.SourceTask

      `exclude, exclude, exclude, exclude, getExcludes, getIncludes, getPatternSetFactory, include, include, include, include, setExcludes, setIncludes, setSource, setSource, source`

- - ### Constructor Detail

    - #### GroovyCompile

          public GroovyCompile​()

  - ### Method Detail

    - #### compile

          protected void compile​()

      Specified by:
        `compile` in class `AbstractCompile`

    - #### getGroovyCompilerJvmVersion

          @Input
          protected java.lang.String getGroovyCompilerJvmVersion​()

      We need to track the Java version of the JVM the Groovy compiler is running on, since the Groovy compiler produces different results depending on it. This should be replaced by a property on the Groovy toolchain as soon as we model these.
      Since:
        4.0

    - #### getJavaToolChain

          protected JavaToolChain getJavaToolChain​()

      We need to track the toolchain used by the Groovy compiler to compile Java sources.
      Since:
        4.0

    - #### getSource

          @PathSensitive(NAME_ONLY)
          public FileTree getSource​()

      Returns the source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

      The `PathSensitivity` for the sources is configured to be `PathSensitivity.ABSOLUTE`. If your sources are less strict, please change it accordingly by overriding this method in your subclass.

      Overrides:
        `getSource` in class `SourceTask`
      Returns:
        The source.

    - #### getGroovyOptions

          public GroovyCompileOptions getGroovyOptions​()

      Gets the options for the Groovy compilation. To set specific options for the nested Java compilation, use `getOptions()`.
      Returns:
        The Groovy compile options. Never returns null.

    - #### getOptions

          public CompileOptions getOptions​()

      Returns the options for Java compilation.
      Returns:
        The Java compile options. Never returns null.

    - #### getGroovyClasspath

          @Classpath
          public FileCollection getGroovyClasspath​()

      Returns the classpath containing the version of Groovy to use for compilation.
      Returns:
        The classpath.

    - #### setGroovyClasspath

          public void setGroovyClasspath​(FileCollection groovyClasspath)

      Sets the classpath containing the version of Groovy to use for compilation.
      Parameters:
        `groovyClasspath` - The classpath. Must not be null.

    - #### getCompiler

          @Internal
          public org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.compile.GroovyJavaJointCompileSpec> getCompiler​()

    - #### setCompiler

          public void setCompiler​(org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.compile.GroovyJavaJointCompileSpec> compiler)

    - #### getJavaToolChainFactory

          @Inject
          protected org.gradle.api.internal.tasks.JavaToolChainFactory getJavaToolChainFactory​()