org.gradle.api.tasks.compile

## Class JavaCompile

- 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.api.tasks.compile.JavaCompile

- All Implemented Interfaces:
    Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Task, PatternFilterable, org.gradle.util.Configurable<Task>
  Direct Known Subclasses:
    PlatformJavaCompile

      public class JavaCompile
      extends AbstractCompile

  Compiles Java source files.

           apply plugin: 'java'
           compileJava {
               //enable compilation in a separate daemon process
               options.fork = true

               //enable incremental compilation
               options.incremental = true
           }

- - ### Nested Class Summary

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

      `Task.Namer`

  - ### Field Summary

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

      `source`

    - ### Fields inherited from interface org.gradle.api.Task

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JavaCompile()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `compile()`
    `protected void` | `compile(IncrementalTaskInputs inputs)`
    `protected org.gradle.internal.Factory<AntBuilder>` | `getAntBuilderFactory()`
    `protected org.gradle.cache.CacheRepository` | `getCacheRepository()`
    `File` | `getDependencyCacheDir()`
    `protected org.gradle.api.internal.tasks.compile.incremental.cache.GeneralCompileCaches` | `getGeneralCompileCaches()`
    `CompileOptions` | `getOptions()` Returns the compilation options.
    `protected JavaPlatform` | `getPlatform()`
    `JavaToolChain` | `getToolChain()` Returns the tool chain that will be used to compile the Java source.
    `void` | `setDependencyCacheDir(File dependencyCacheDir)`
    `void` | `setToolChain(JavaToolChain toolChain)` Sets the tool chain that should be used to compile the Java source.

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

      `getClasspath, getDestinationDir, getSourceCompatibility, getTargetCompatibility, setClasspath, setDestinationDir, setSourceCompatibility, setTargetCompatibility`

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

      `exclude, exclude, exclude, exclude, getExcludes, getIncludes, getSource, include, include, include, include, setExcludes, setIncludes, setSource, source`

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

      `conventionMapping, conventionMapping, getConventionMapping`

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

      `addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getImpliesSubProjects, getInputs, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setName, setOnlyIf, setOnlyIf, setProject, setProperty, setShouldRunAfter, shouldRunAfter, toString`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### JavaCompile

          public JavaCompile()

  - ### Method Detail

    - #### getToolChain

          @Incubating
          @Inject
          public JavaToolChain getToolChain()

      Returns the tool chain that will be used to compile the Java source.
      Returns:
        The tool chain.

    - #### setToolChain

          @Incubating
          public void setToolChain(JavaToolChain toolChain)

      Sets the tool chain that should be used to compile the Java source.
      Parameters:
        `toolChain` - The tool chain.

    - #### compile

          protected void compile(IncrementalTaskInputs inputs)

    - #### getGeneralCompileCaches

          @Inject
          protected org.gradle.api.internal.tasks.compile.incremental.cache.GeneralCompileCaches getGeneralCompileCaches()

    - #### getCacheRepository

          @Inject
          protected org.gradle.cache.CacheRepository getCacheRepository()

    - #### compile

          protected void compile()

      Specified by:
        `compile` in class `AbstractCompile`

    - #### getAntBuilderFactory

          @Inject
          protected org.gradle.internal.Factory<AntBuilder> getAntBuilderFactory()

    - #### getPlatform

          protected JavaPlatform getPlatform()

    - #### getDependencyCacheDir

          @OutputDirectory
          public File getDependencyCacheDir()

    - #### setDependencyCacheDir

          public void setDependencyCacheDir(File dependencyCacheDir)

    - #### getOptions

          public CompileOptions getOptions()

      Returns the compilation options.
      Returns:
        The compilation options.