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`, `org.gradle.api.internal.tasks.compile.HasCompileOptions`, `ExtensionAware`, `Task`, `PatternFilterable`, `Configurable<Task>`
  Direct Known Subclasses:
    `ScalaCompile`

      @DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly")
      public abstract class AbstractScalaCompile
      extends AbstractCompile
      implements org.gradle.api.internal.tasks.compile.HasCompileOptions

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `compile()` |
    `protected org.gradle.api.internal.tasks.scala.ScalaJavaJointCompileSpec` | `createSpec()` |
    `ConfigurableFileCollection` | `getAnalysisFiles()` | Source of analysis mapping files for incremental Scala compilation.
    `RegularFileProperty` | `getAnalysisMappingFile()` | Analysis mapping file.
    `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)` |
    `protected org.gradle.internal.file.Deleter` | `getDeleter()` |
    `Property<JavaLauncher>` | `getJavaLauncher()` | The toolchain `JavaLauncher` to use for executing the Scala compiler.
    `protected String` | `getJvmVersion()` | The Java major version of the JVM the Scala compiler is running on.
    `protected ObjectFactory` | `getObjectFactory()` |
    `CompileOptions` | `getOptions()` | Returns the Java compilation options.
    `protected ProjectLayout` | `getProjectLayout()` |
    `BaseScalaCompileOptions` | `getScalaCompileOptions()` | Returns the Scala compilation options.
    `FileTree` | `getSource()` | Returns the source for this task, after the include and exclude patterns have been applied.
    `protected JavaInstallationMetadata` | `getToolchain()` |

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

- - ### Field Detail

    - #### LOGGER

          protected static final Logger LOGGER

  - ### Constructor Detail

    - #### AbstractScalaCompile

          protected AbstractScalaCompile​(BaseScalaCompileOptions scalaCompileOptions)

  - ### Method Detail

    - #### getScalaCompileOptions

          public BaseScalaCompileOptions getScalaCompileOptions()

      Returns the Scala compilation options.

    - #### getOptions

          public CompileOptions getOptions()

      Returns the Java compilation options.
      Specified by:
        `getOptions` in interface `org.gradle.api.internal.tasks.compile.HasCompileOptions`

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

          public void compile()

    - #### getJavaLauncher

          @Incubating
          @Internal
          public Property<JavaLauncher> getJavaLauncher()

      The toolchain `JavaLauncher` to use for executing the Scala compiler.
      Returns:
        the java launcher property
      Since:
        7.2

    - #### getToolchain

          @Nullable
          @Internal
          protected JavaInstallationMetadata getToolchain()

    - #### createSpec

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

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

      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.

    - #### getJvmVersion

          @Input
          protected String getJvmVersion()

      The Java major version of the JVM the Scala compiler is running on.
      Since:
        4.6

    - #### getAnalysisFiles

          @Internal
          public ConfigurableFileCollection getAnalysisFiles()

      Source of analysis mapping files for incremental Scala compilation.

      An analysis mapping file is produced by each `AbstractScalaCompile` task. This file contains paths to the jar containing compiled Scala classes and the Scala compiler analysis file for that jar. The Scala compiler uses this information to perform incremental compilation of Scala sources.

      Returns:
        collection of analysis mapping files.
      Since:
        4.10.1

    - #### getAnalysisMappingFile

          @LocalState
          public RegularFileProperty getAnalysisMappingFile()

      Analysis mapping file.
      Since:
        4.10.1
      See Also:
        `getAnalysisFiles()`

    - #### getDeleter

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

    - #### getProjectLayout

          @Inject
          protected ProjectLayout getProjectLayout()

    - #### getObjectFactory

          @Inject
          protected ObjectFactory getObjectFactory()