Package org.gradle.api.tasks.scala

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

      @CacheableTask
      public class ScalaCompile
      extends AbstractScalaCompile

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

      `LOGGER`

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `assertScalaClasspathIsNonEmpty()` |
    `protected org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec` | `createSpec()` |
    `protected org.gradle.language.base.internal.compile.Compiler<org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec>` | `getCompiler​(org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec spec)` |
    `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)` |
    `void` | `setScalaCompilerPlugins​(FileCollection scalaCompilerPlugins)` | Sets the Scala compiler plugins to use.
    `void` | `setZincClasspath​(FileCollection zincClasspath)` |

    - ### Methods inherited from class org.gradle.language.scala.tasks.AbstractScalaCompile

      `compile, getAnalysisFiles, getAnalysisMappingFile, getDeleter, getJvmVersion, getObjectFactory, getOptions, getProjectLayout, getSource`

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

      `getClasspath, getDestinationDir, getDestinationDirectory, 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

      `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, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

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

      `appendParallelSafeAction, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getOnlyIf, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isEnabled, isHasCustomActions, prependParallelSafeAction, replaceLogger, 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

      `getConvention`

- - ### Constructor Detail

    - #### ScalaCompile

          @Inject
          public ScalaCompile()

  - ### Method Detail

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

    - #### setScalaClasspath

          public void setScalaClasspath​(FileCollection scalaClasspath)

    - #### getScalaCompilerPlugins

          @Classpath
          @Incubating
          public FileCollection getScalaCompilerPlugins()

      Returns the Scala compiler plugins to use.
      Since:
        6.4

    - #### setScalaCompilerPlugins

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

      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.

    - #### setZincClasspath

          public void setZincClasspath​(FileCollection zincClasspath)

    - #### setCompiler

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

      For testing only.

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

      Specified by:
        `getCompiler` in class `AbstractScalaCompile`

    - #### assertScalaClasspathIsNonEmpty

          protected void assertScalaClasspathIsNonEmpty()