> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incredibuild.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XML Interface - Dependency Definition

Last updated on Dec 22, 2025

Task level dependencies are defined using the *DependsOn* attribute available in the *Task* and *TaskGroup* elements. Multiple dependency definitions are allowed.

In incremental builds, file level dependencies are controlled through timestamps. If a task has a *SourceFile* and at least one output file defined in the *OutputFiles* attribute, Incredibuild compares timestamps to decide whether this task should be run.

An additional parameter, which is considered in the file level dependency check, is the *InputFiles* attribute. If additional input files are defined, Incredibuild compares their timestamps to the *SourceFile*'s timestamp as well, to determine if the task should be run.

The accurate dependency hierarchy is: OutputFiles -> SourceFile -> InputFiles.
