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`, `ExtensionAware`, `Task`, `PatternFilterable`, `org.gradle.util.Configurable<Task>`

@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 class org.gradle.api.tasks.SourceTask

`source`

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

`TASK_ACTION, 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()`
`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 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.tasks.SourceTask

`exclude, exclude, exclude, exclude, getExcludes, getIncludes, 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

`newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

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

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

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

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

## Constructor Details

### GroovyCompile

public GroovyCompile()

## Method Details

### compile

protected void compile()

Specified by:
  `compile` in class `AbstractCompile`

### getGroovyCompilerJvmVersion

@Incubating @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

### getJavaToolChain

@Incubating 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.

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()