# 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, ApiJar, Assemble, BrowserEvaluate, BuildEnvironmentReportTask, CompareGradleBuilds, ComponentReport, org.gradle.api.internal.ConventionTask, CreateStaticLibrary, Depend, DependencyInsightReportTask, DependentComponentsReport, GenerateBuildDashboard, GenerateCUnitLauncher, GenerateIvyDescriptor, GenerateMavenPom, GenerateModuleMetadata, InitBuild, InstallExecutable, InstallXCTestBundle, JacocoBase, JDepend, ModelReport, PluginUnderTestMetadata, PrefixHeaderFileGenerateTask, PublishToIvyRepository, Sign, 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 Task

`Task.Namer`

## Field Summary

### Fields inherited from interface Task

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

## Constructor Summary

Constructors
Constructor
Description
`DefaultTask()`

## Method Summary

Modifier and Type
Method
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 Object

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

## Constructor Details

### DefaultTask

public DefaultTask()

## Method Details

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