# Class Depend

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.language.nativeplatform.tasks.Depend

All Implemented Interfaces:
  `Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Task, org.gradle.util.Configurable<Task>`

@NonNullApi @Incubating public class Depend extends DefaultTask
Responsible for detecting headers which are inputs to a native compilation task.

Since:
  4.3

## 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
`Depend(org.gradle.api.internal.changedetection.state.FileSystemSnapshotter fileSystemSnapshotter, org.gradle.language.nativeplatform.internal.incremental.CompilationStateCacheFactory compilationStateCacheFactory, org.gradle.api.internal.file.collections.DirectoryFileTreeFactory directoryFileTreeFactory, org.gradle.language.nativeplatform.internal.incremental.sourceparser.CSourceParser sourceParser)`

## Method Summary

Modifier and Type
Method
Description
`void`
`detectHeaders(IncrementalTaskInputs incrementalTaskInputs)`
`RegularFileProperty`
`getHeaderDependenciesFile()`
`Property<Boolean>`
`getImportsAreIncludes()`
`protected Collection<String>`
`getIncludePaths()`
`ConfigurableFileCollection`
`getIncludes()`
Returns the set of directory where the compiler should search for header files.
`ConfigurableFileCollection`
`getSource()`
Returns the source files to be compiled.
`void`
`includes(Object includeRoots)`
Add directories where the compiler should search for header files.
`void`
`source(Object sourceFiles)`
Adds a set of source files to be compiled.

### Methods inherited from class DefaultTask

`newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

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

### Depend

@Inject public Depend(org.gradle.api.internal.changedetection.state.FileSystemSnapshotter fileSystemSnapshotter, org.gradle.language.nativeplatform.internal.incremental.CompilationStateCacheFactory compilationStateCacheFactory, org.gradle.api.internal.file.collections.DirectoryFileTreeFactory directoryFileTreeFactory, org.gradle.language.nativeplatform.internal.incremental.sourceparser.CSourceParser sourceParser)

## Method Details

### detectHeaders

public void detectHeaders(IncrementalTaskInputs incrementalTaskInputs) throws IOException

Throws:
  `IOException`

### getIncludePaths

@Input protected Collection<String> getIncludePaths()

### getIncludes

@Internal("tracked through getIncludePaths()") public ConfigurableFileCollection getIncludes()
Returns the set of directory where the compiler should search for header files.

Since:
  4.4

### includes

public void includes(Object includeRoots)
Add directories where the compiler should search for header files.

### getSource

@InputFiles @SkipWhenEmpty public ConfigurableFileCollection getSource()
Returns the source files to be compiled.

### source

public void source(Object sourceFiles)
Adds a set of source files to be compiled. The provided sourceFiles object is evaluated as per `Project.files(Object...)`.

### getHeaderDependenciesFile

@OutputFile public RegularFileProperty getHeaderDependenciesFile()

### getImportsAreIncludes

@Input public Property<Boolean> getImportsAreIncludes()