Package org.gradle.language.scala.tasks

# Class AbstractScalaCompile

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.language.scala.tasks.AbstractScalaCompile

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

Direct Known Subclasses:
  `PlatformScalaCompile`, `ScalaCompile`

@Incubating public abstract class AbstractScalaCompile extends AbstractCompile
An abstract Scala compile task sharing common functionality for compiling scala.

## Nested Class Summary

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

`Task.Namer`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final Logger`
`LOGGER`

### 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
Modifier
Constructor
Description
`protected`
`AbstractScalaCompile(BaseScalaCompileOptions scalaCompileOptions)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`compile()`
`protected void`
`configureIncrementalCompilation(org.gradle.api.internal.tasks.scala.ScalaCompileSpec spec)`
`protected Map<File,File>`
`createOrGetGlobalAnalysisMap()`
`protected org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec`
`createSpec()`
`protected HashMap<File,File>`
`filterForClasspath(Map<File,File> analysisMap, Iterable<File> classpath)`
`protected abstract org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec>`
`getCompiler(org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec spec)`
`FileCollection`
`getEffectiveAnnotationProcessorPath()`
Returns the path to use for annotation processor discovery.
`CompileOptions`
`getOptions()`
Returns the Java compilation options.
`BaseScalaCompileOptions`
`getScalaCompileOptions()`
Returns the Scala compilation options.

### 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, getSource, 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`

## Field Details

### LOGGER

protected static final Logger LOGGER

## Constructor Details

### AbstractScalaCompile

protected AbstractScalaCompile(BaseScalaCompileOptions scalaCompileOptions)

## Method Details

### getScalaCompileOptions

public BaseScalaCompileOptions getScalaCompileOptions()
Returns the Scala compilation options.

### getOptions

public CompileOptions getOptions()
Returns the Java compilation options.

### getCompiler

protected abstract org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec> getCompiler(org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec spec)

### compile

protected void compile()

Specified by:
  `compile` in class `AbstractCompile`

### createSpec

protected org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec createSpec()

### configureIncrementalCompilation

protected void configureIncrementalCompilation(org.gradle.api.internal.tasks.scala.ScalaCompileSpec spec)

### createOrGetGlobalAnalysisMap

protected Map<File,File> createOrGetGlobalAnalysisMap()

### filterForClasspath

protected HashMap<File,File> filterForClasspath(Map<File,File> analysisMap, Iterable<File> classpath)

### getEffectiveAnnotationProcessorPath

@Incubating @Classpath public FileCollection getEffectiveAnnotationProcessorPath()
Returns the path to use for annotation processor discovery. Returns an empty collection when no processing should be performed, for example when no annotation processors are present in the compile classpath or annotation processing has been disabled.

You can specify this path using `CompileOptions.setAnnotationProcessorPath(FileCollection)` or `CompileOptions.setCompilerArgs(java.util.List)`. When not explicitly set using one of the methods on `CompileOptions`, the compile classpath will be used when there are annotation processors present in the compile classpath. Otherwise this path will be empty.

This path is always empty when annotation processing is disabled.

Since:
  4.1