# Class ScalaDoc

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.scala.ScalaDoc

All Implemented Interfaces:
  `Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, PatternFilterable, Configurable<Task>`

@CacheableTask public abstract class ScalaDoc extends SourceTask
Generates HTML API documentation for Scala source files.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `generate()`
  `FileCollection`
  `getClasspath()`
  Returns the classpath to use to locate classes referenced by the documented source.
  `abstract ConfigurableFileCollection`
  `getCompilationOutputs()`
  Returns the compilation outputs produced by the sources that are generating Scaladoc.
  `File`
  `getDestinationDir()`
  Returns the directory to generate the API documentation into.
  `abstract DirectoryProperty`
  `getDestinationDirectory()`
  Returns the directory to generate the API documentation into.
  `protected FileTree`
  `getFilteredCompilationOutputs()`
  Returns the compilation outputs needed by Scaladoc filtered to include TASTy files.
  `abstract Property<JavaLauncher>`
  `getJavaLauncher()`
  A JavaLauncher used to run the Scaladoc tool.
  `protected abstract JavaToolchainService`
  `getJavaToolchainService()`
  `abstract Property<String>`
  `getMaxMemory()`
  Returns the amount of memory allocated to this task.
  `protected abstract ObjectFactory`
  `getObjectFactory()`
  `FileCollection`
  `getScalaClasspath()`
  Returns the classpath to use to load the ScalaDoc tool.
  `abstract ScalaDocOptions`
  `getScalaDocOptions()`
  Returns the ScalaDoc generation options.
  `FileTree`
  `getSource()`
  Returns the source for this task, after the include and exclude patterns have been applied.
  `@Nullable String`
  `getTitle()`
  Returns the documentation title.
  `protected abstract WorkerExecutor`
  `getWorkerExecutor()`
  `void`
  `scalaDocOptions(Action<? super ScalaDocOptions> action)`
  Configures the ScalaDoc generation options.
  `void`
  `setClasspath(FileCollection classpath)`
  `void`
  `setDestinationDir(File destinationDir)`
  `void`
  `setScalaClasspath(FileCollection scalaClasspath)`
  `void`
  `setTitle(@Nullable String title)`

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

  - ### ScalaDoc

    public ScalaDoc()

- ## Method Details

  - ### getDestinationDirectory

    @Incubating @OutputDirectory public abstract DirectoryProperty getDestinationDirectory()
    Returns the directory to generate the API documentation into.
    Since:
      9.7.0

  - ### getDestinationDir

    @ReplacedBy("destinationDirectory") public File getDestinationDir()
    Returns the directory to generate the API documentation into.

  - ### setDestinationDir

    public void setDestinationDir(File destinationDir)

  - ### getSource

    @PathSensitive(RELATIVE) 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.RELATIVE`.

    Overrides:
      `getSource` in class `SourceTask`
    Returns:
      The source.

  - ### getFilteredCompilationOutputs

    @InputFiles @IgnoreEmptyDirectories @PathSensitive(RELATIVE) protected FileTree getFilteredCompilationOutputs()
    Returns the compilation outputs needed by Scaladoc filtered to include TASTy files.

    NOTE: This is only useful with Scala 3 or later. Scala 2 only processes source files.

    Returns:
      the compilation outputs produced from the sources
    Since:
      7.3

  - ### getCompilationOutputs

    @Internal public abstract ConfigurableFileCollection getCompilationOutputs()
    Returns the compilation outputs produced by the sources that are generating Scaladoc.
    Returns:
      the compilation outputs produced from the sources
    Since:
      7.3

  - ### getClasspath

    @Classpath public FileCollection getClasspath()

    Returns the classpath to use to locate classes referenced by the documented source.

    Returns:
      The classpath.

  - ### setClasspath

    public void setClasspath(FileCollection classpath)

  - ### getScalaClasspath

    @Classpath public FileCollection getScalaClasspath()
    Returns the classpath to use to load the ScalaDoc tool.

  - ### setScalaClasspath

    public void setScalaClasspath(FileCollection scalaClasspath)

  - ### getScalaDocOptions

    public abstract ScalaDocOptions getScalaDocOptions()
    Returns the ScalaDoc generation options.

  - ### scalaDocOptions

    public void scalaDocOptions(Action<? super ScalaDocOptions> action)
    Configures the ScalaDoc generation options.
    Since:
      8.11

  - ### getTitle

    @Optional @Input public @Nullable String getTitle()
    Returns the documentation title.

  - ### setTitle

    public void setTitle(@Nullable String title)

  - ### getMaxMemory

    @Internal public abstract Property<String> getMaxMemory()
    Returns the amount of memory allocated to this task. Ex. 512m, 1G
    Since:
      6.5

  - ### getJavaLauncher

    public abstract Property<JavaLauncher> getJavaLauncher()
    A JavaLauncher used to run the Scaladoc tool.
    Since:
      7.2

  - ### generate

    protected void generate()

  - ### getObjectFactory

    @Inject protected abstract ObjectFactory getObjectFactory()

  - ### getWorkerExecutor

    @Inject protected abstract WorkerExecutor getWorkerExecutor()

  - ### getJavaToolchainService

    @Inject protected abstract JavaToolchainService getJavaToolchainService()