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:
  `Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.IConventionAware`, `org.gradle.api.internal.TaskInternal`, `org.gradle.api.internal.tasks.compile.HasCompileOptions`, `Named`, `ExtensionAware`, `Task`, `PatternFilterable`, `Configurable<Task>`

@CacheableTask public abstract class GroovyCompile extends AbstractCompile implements org.gradle.api.internal.tasks.compile.HasCompileOptions
Compiles Groovy source files, and optionally, Java source files.

- ## Nested Class Summary

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

  `Named.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

  Modifier and Type
  Method
  Description
  `protected void`
  `compile(InputChanges inputChanges)`
  `abstract ConfigurableFileCollection`
  `getAstTransformationClasspath()`
  The classpath containing AST transformations and their dependencies.
  `FileCollection`
  `getClasspath()`
  Returns the classpath to use to compile the source files.
  `protected abstract org.gradle.internal.file.Deleter`
  `getDeleter()`
  `protected abstract org.gradle.internal.buildoption.FeatureFlags`
  `getFeatureFlags()`
  `FileCollection`
  `getGroovyClasspath()`
  Returns the classpath containing the version of Groovy to use for compilation.
  `protected abstract org.gradle.api.internal.tasks.compile.GroovyCompilerFactory`
  `getGroovyCompilerFactory()`
  `protected 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.
  `abstract GroovyCompileOptions`
  `getGroovyOptions()`
  Gets the options for the Groovy compilation.
  `protected abstract org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory`
  `getIncrementalCompilerFactory()`
  `abstract Property<JavaLauncher>`
  `getJavaLauncher()`
  The toolchain `JavaLauncher` to use for executing the Groovy compiler.
  `protected abstract JavaToolchainService`
  `getJavaToolchainService()`
  `protected abstract ObjectFactory`
  `getObjectFactory()`
  `abstract CompileOptions`
  `getOptions()`
  Returns the options for Java compilation.
  `protected File`
  `getPreviousCompilationData()`
  The previous compilation analysis.
  `protected abstract ProjectLayout`
  `getProjectLayout()`
  `FileTree`
  `getSource()`
  Returns the source for this task, after the include and exclude patterns have been applied.
  `protected FileCollection`
  `getStableSources()`
  The sources for incremental change detection.
  `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

  `getDestinationDirectory, getSourceCompatibility, getTargetCompatibility, setClasspath, setSourceCompatibility, setTargetCompatibility`

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

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

  ### 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

  `acceptServiceReferences, appendParallelSafeAction, doNotTrackState, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, 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, notCompatibleWithConfigurationCache`

  ### Methods inherited from interface org.gradle.api.internal.TaskInternal

  `buildFailureMessage, getProvenance`

- ## Constructor Details

  - ### GroovyCompile

    public GroovyCompile()

- ## Method Details

  - ### getClasspath

    @CompileClasspath @Incremental public FileCollection getClasspath()
    Description copied from class: `AbstractCompile`
    Returns the classpath to use to compile the source files.
    Overrides:
      `getClasspath` in class `AbstractCompile`
    Returns:
      The classpath.

  - ### getAstTransformationClasspath

    @Classpath public abstract ConfigurableFileCollection getAstTransformationClasspath()
    The classpath containing AST transformations and their dependencies.
    Since:
      5.6

  - ### compile

    protected void compile(InputChanges inputChanges)

  - ### getPreviousCompilationData

    @OutputFile protected File getPreviousCompilationData()
    The previous compilation analysis. Internal use only.
    Since:
      7.1

  - ### getStableSources

    @SkipWhenEmpty @IgnoreEmptyDirectories @PathSensitive(RELATIVE) @InputFiles protected FileCollection getStableSources()
    The sources for incremental change detection.
    Since:
      5.6

  - ### getGroovyCompilerJvmVersion

    @Input protected 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

  - ### getSource

    @Internal("tracked via stableSources") 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 abstract 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 abstract CompileOptions getOptions()
    Returns the options for Java compilation.
    Specified by:
      `getOptions` in interface `org.gradle.api.internal.tasks.compile.HasCompileOptions`
    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.

  - ### getJavaLauncher

    public abstract Property<JavaLauncher> getJavaLauncher()
    The toolchain `JavaLauncher` to use for executing the Groovy compiler.
    Returns:
      the java launcher property
    Since:
      6.8

  - ### getIncrementalCompilerFactory

    @Inject protected abstract org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory getIncrementalCompilerFactory()

  - ### getDeleter

    @Inject protected abstract org.gradle.internal.file.Deleter getDeleter()

  - ### getProjectLayout

    @Inject protected abstract ProjectLayout getProjectLayout()

  - ### getObjectFactory

    @Inject protected abstract ObjectFactory getObjectFactory()

  - ### getGroovyCompilerFactory

    @Inject protected abstract org.gradle.api.internal.tasks.compile.GroovyCompilerFactory getGroovyCompilerFactory()

  - ### getFeatureFlags

    @Inject protected abstract org.gradle.internal.buildoption.FeatureFlags getFeatureFlags()

  - ### getJavaToolchainService

    @Inject protected abstract JavaToolchainService getJavaToolchainService()