org.gradle.api

## Class DefaultTask

- java.lang.Object
- - org.gradle.api.internal.AbstractTask
  - - org.gradle.api.DefaultTask

- All Implemented Interfaces:
    Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Task, org.gradle.util.Configurable<Task>
  Direct Known Subclasses:
    AbstractLinkTask, AbstractNativeCompileTask, AbstractPublishToMaven, Assemble, BrowserEvaluate, BuildEnvironmentReportTask, CompareGradleBuilds, ComponentReport, org.gradle.api.internal.ConventionTask, CreateStaticLibrary, DependencyInsightReportTask, DependentComponentsReport, ExtractSymbols, GenerateBuildDashboard, GenerateCUnitLauncher, GenerateIvyDescriptor, GenerateMavenPom, GenerateModuleMetadata, GenerateSwiftPackageManagerManifest, InitBuild, InstallExecutable, InstallXCTestBundle, JacocoBase, JDepend, ModelReport, PluginUnderTestMetadata, PrefixHeaderFileGenerateTask, PublishToIvyRepository, Sign, StripSymbols, SwiftCompile, TestReport, WindowsResourceCompile, Wrapper, WriteProperties

      public class DefaultTask
      extends org.gradle.api.internal.AbstractTask

  `DefaultTask` is the standard `Task` implementation. You can extend this to implement your own task types.

- - ### 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_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultTask()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected DirectoryProperty` | `newInputDirectory()` Creates a new input directory property for this task.
    `protected RegularFileProperty` | `newInputFile()` Creates a new input file property for this task.
    `protected DirectoryProperty` | `newOutputDirectory()` Creates a new output directory property for this task.
    `protected RegularFileProperty` | `newOutputFile()` Creates a new output file property for this task.

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

      `addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, 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, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString`

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

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

- - ### Constructor Detail

    - #### DefaultTask

          public DefaultTask()

  - ### Method Detail

    - #### newOutputDirectory

          @Incubating
          protected DirectoryProperty newOutputDirectory()

      Creates a new output directory property for this task.
      Returns:
        The property.
      Since:
        4.4

    - #### newOutputFile

          @Incubating
          protected RegularFileProperty newOutputFile()

      Creates a new output file property for this task.
      Returns:
        The property.
      Since:
        4.4

    - #### newInputFile

          @Incubating
          protected RegularFileProperty newInputFile()

      Creates a new input file property for this task.
      Returns:
        The property.
      Since:
        4.4

    - #### newInputDirectory

          @Incubating
          protected DirectoryProperty newInputDirectory()

      Creates a new input directory property for this task.
      Returns:
        The property.
      Since:
        4.4