Package org.gradle.api.tasks.compile

## Class AbstractCompile

- 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

- All Implemented Interfaces:
    `java.lang.Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.IConventionAware`, `org.gradle.api.internal.TaskInternal`, `ExtensionAware`, `Task`, `PatternFilterable`, `Configurable<Task>`
  Direct Known Subclasses:
    `AbstractScalaCompile`, `GroovyCompile`, `JavaCompile`

      @DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly")
      public abstract class AbstractCompile
      extends SourceTask

  The base class for all JVM-based language compilation tasks.

- - ### Nested Class Summary

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

      `Task.Namer`

  - ### Field Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `FileCollection` | `getClasspath()` | Returns the classpath to use to compile the source files.
    `java.io.File` | `getDestinationDir()` | Deprecated. Use `getDestinationDirectory()` instead.
    `DirectoryProperty` | `getDestinationDirectory()` | Returns the directory property that represents the directory to generate the `.class` files into.
    `java.lang.String` | `getSourceCompatibility()` | Returns the Java language level to use to compile the source files.
    `java.lang.String` | `getTargetCompatibility()` | Returns the target JVM to generate the `.class` files for.
    `void` | `setClasspath​(FileCollection configuration)` | Sets the classpath to use to compile the source files.
    `void` | `setDestinationDir​(java.io.File destinationDir)` | Deprecated. Use `getDestinationDirectory()`.set() instead.
    `void` | `setDestinationDir​(Provider<java.io.File> destinationDir)` | Deprecated. Use `getDestinationDirectory()`.set() instead.
    `void` | `setSourceCompatibility​(java.lang.String sourceCompatibility)` | Sets the Java language level to use to compile the source files.
    `void` | `setTargetCompatibility​(java.lang.String targetCompatibility)` | Sets the target JVM to generate the `.class` files for.

    - ### Methods inherited from class org.gradle.api.tasks.SourceTask

      `exclude, exclude, exclude, exclude, getExcludes, getIncludes, getPatternSet, 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

      `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

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

- - ### Constructor Detail

    - #### AbstractCompile

          public AbstractCompile()

  - ### Method Detail

    - #### getClasspath

          @Classpath
          public FileCollection getClasspath()

      Returns the classpath to use to compile the source files.
      Returns:
        The classpath.

    - #### setClasspath

          public void setClasspath​(FileCollection configuration)

      Sets the classpath to use to compile the source files.
      Parameters:
        `configuration` - The classpath. Must not be null, but may be empty.

    - #### getDestinationDirectory

          @OutputDirectory
          public DirectoryProperty getDestinationDirectory()

      Returns the directory property that represents the directory to generate the `.class` files into.
      Returns:
        The destination directory property.
      Since:
        6.1

    - #### getDestinationDir

          @ReplacedBy("destinationDirectory")
          @Deprecated
          public java.io.File getDestinationDir()

      Deprecated.
      Use `getDestinationDirectory()` instead. This method will be removed in Gradle 9.0.
      Returns the directory to generate the `.class` files into.
      Returns:
        The destination directory.

    - #### setDestinationDir

          @Deprecated
          public void setDestinationDir​(java.io.File destinationDir)

      Deprecated.
      Use `getDestinationDirectory()`.set() instead. This method will be removed in Gradle 9.0.
      Sets the directory to generate the `.class` files into.
      Parameters:
        `destinationDir` - The destination directory. Must not be null.

    - #### setDestinationDir

          @Deprecated
          public void setDestinationDir​(Provider<java.io.File> destinationDir)

      Deprecated.
      Use `getDestinationDirectory()`.set() instead. This method will be removed in Gradle 9.0.
      Sets the directory to generate the `.class` files into.
      Parameters:
        `destinationDir` - The destination directory. Must not be null.
      Since:
        4.0

    - #### getSourceCompatibility

          @Input
          public java.lang.String getSourceCompatibility()

      Returns the Java language level to use to compile the source files.
      Returns:
        The source language level.

    - #### setSourceCompatibility

          public void setSourceCompatibility​(java.lang.String sourceCompatibility)

      Sets the Java language level to use to compile the source files.
      Parameters:
        `sourceCompatibility` - The source language level. Must not be null.

    - #### getTargetCompatibility

          @Input
          public java.lang.String getTargetCompatibility()

      Returns the target JVM to generate the `.class` files for.
      Returns:
        The target JVM.

    - #### setTargetCompatibility

          public void setTargetCompatibility​(java.lang.String targetCompatibility)

      Sets the target JVM to generate the `.class` files for.
      Parameters:
        `targetCompatibility` - The target JVM. Must not be null.