# Class ScalaCompile

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
org.gradle.api.tasks.scala.ScalaCompile

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 ScalaCompile extends AbstractScalaCompile
Compiles Scala source files, and optionally, Java source files.

Since:
  0.8

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  ### Fields inherited from class AbstractScalaCompile

  `LOGGER`

  ### Fields inherited from interface Task

  `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ScalaCompile()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `assertScalaClasspathIsNonEmpty()`
  Assert scala classpath is non empty.
  `protected org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec`
  `createSpec()`
  Create spec.
  `protected org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec>`
  `getCompiler(org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec spec)`
  Returns the compiler.
  `FileCollection`
  `getScalaClasspath()`
  Returns the classpath to use to load the Scala compiler.
  `ScalaCompileOptions`
  `getScalaCompileOptions()`
  Returns the Scala compilation options.
  `FileCollection`
  `getScalaCompilerPlugins()`
  Returns the Scala compiler plugins to use.
  `FileCollection`
  `getZincClasspath()`
  Returns the classpath to use to load the Zinc incremental compiler.
  `void`
  `setCompiler(org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec> compiler)`
  For testing only.
  `void`
  `setScalaClasspath(FileCollection scalaClasspath)`
  Sets the scala classpath.
  `void`
  `setScalaCompilerPlugins(FileCollection scalaCompilerPlugins)`
  Sets the Scala compiler plugins to use.
  `void`
  `setZincClasspath(FileCollection zincClasspath)`
  Sets the zinc classpath.

  ### Methods inherited from class AbstractScalaCompile

  `compile, getAnalysisFiles, getAnalysisMappingFile, getCachedClasspathTransformer, getDeleter, getJavaLauncher, getJavaToolchainService, getJvmVersion, getObjectFactory, getOptions, getProjectLayout, getSource, getToolchain`

  ### Methods inherited from class AbstractCompile

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

  ### Methods inherited from class 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 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, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, service, setImpliesSubProjects`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Task

  `doNotTrackState, notCompatibleWithConfigurationCache, service`

- ## Constructor Details

  - ### ScalaCompile

    public ScalaCompile()

- ## Method Details

  - ### getScalaCompileOptions

    public ScalaCompileOptions getScalaCompileOptions()
    Description copied from class: `AbstractScalaCompile`
    Returns the Scala compilation options.
    Overrides:
      `getScalaCompileOptions` in class `AbstractScalaCompile`

  - ### getScalaClasspath

    @Classpath public FileCollection getScalaClasspath()
    Returns the classpath to use to load the Scala compiler.
    Since:
      0.9

  - ### setScalaClasspath

    public void setScalaClasspath(FileCollection scalaClasspath)
    Sets the scala classpath.
    Since:
      0.9

  - ### getScalaCompilerPlugins

    @Classpath public FileCollection getScalaCompilerPlugins()
    Returns the Scala compiler plugins to use.
    Since:
      6.4

  - ### setScalaCompilerPlugins

    public void setScalaCompilerPlugins(FileCollection scalaCompilerPlugins)
    Sets the Scala compiler plugins to use.
    Parameters:
      `scalaCompilerPlugins` - Collection of Scala compiler plugins.
    Since:
      6.4

  - ### createSpec

    protected org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec createSpec()
    Description copied from class: `AbstractScalaCompile`
    Create spec.
    Overrides:
      `createSpec` in class `AbstractScalaCompile`

  - ### getZincClasspath

    @Classpath public FileCollection getZincClasspath()
    Returns the classpath to use to load the Zinc incremental compiler. This compiler in turn loads the Scala compiler.
    Since:
      1.3

  - ### setZincClasspath

    public void setZincClasspath(FileCollection zincClasspath)
    Sets the zinc classpath.
    Since:
      1.3

  - ### setCompiler

    public void setCompiler(org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec> compiler)
    For testing only.
    Since:
      1.0

  - ### getCompiler

    protected org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec> getCompiler(org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec spec)
    Description copied from class: `AbstractScalaCompile`
    Returns the compiler.
    Specified by:
      `getCompiler` in class `AbstractScalaCompile`

  - ### assertScalaClasspathIsNonEmpty

    protected void assertScalaClasspathIsNonEmpty()
    Assert scala classpath is non empty.
    Since:
      2.3