> ## Documentation Index
> Fetch the complete documentation index at: https://bazel-pr-30012.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# DefaultInfo

A provider that gives general information about a target's direct and transitive files. Every rule type has this provider, even if it is not returned explicitly by the rule's implementation function.

See the [rules](https://bazel.build/extending/rules) page for extensive guides on how to use this provider.

## Members

* [DefaultInfo](#DefaultInfo)
* [data\_runfiles](#data_runfiles)
* [default\_runfiles](#default_runfiles)
* [files](#files)
* [files\_to\_run](#files_to_run)

## DefaultInfo

```
DefaultInfo DefaultInfo(*, files=None, runfiles=None, data_runfiles=None, default_runfiles=None, executable=None)
```

The `DefaultInfo` constructor.

### Parameters

| Parameter          | Description                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `files`            | [depset](../builtins/depset); or `None`; default is `None`  A [`depset`](../builtins/depset) of [`File`](../builtins/File) objects representing the default outputs to build when this target is specified on the bazel command line. By default it is all predeclared outputs.                                                                                                                                                       |
| `runfiles`         | [runfiles](../builtins/runfiles); or `None`; default is `None`  [`runfiles`](../builtins/runfiles) descriptor describing the files that this target needs when run (e.g. via the `run` command or as a tool dependency for an action).                                                                                                                                                                                                |
| `data_runfiles`    | [runfiles](../builtins/runfiles); or `None`; default is `None`  **It is recommended that you avoid using this parameter (see ["runfiles features to avoid"](https://bazel.build/extending/rules#runfiles_features_to_avoid))** runfiles descriptor describing the runfiles this target needs to run when it is a dependency via the `data` attribute.                                                                                 |
| `default_runfiles` | [runfiles](../builtins/runfiles); or `None`; default is `None`  **It is recommended that you avoid using this parameter (see ["runfiles features to avoid"](https://bazel.build/extending/rules#runfiles_features_to_avoid))** runfiles descriptor describing the runfiles this target needs to run when it is a dependency via any attribute other than the `data` attribute.                                                        |
| `executable`       | [File](../builtins/File); or `None`; default is `None`  If this rule is marked [`executable`](../globals/bzl#rule.executable) or [`test`](../globals/bzl#rule.test), this is a [`File`](../builtins/File) object representing the file that should be executed to run the target. By default it is the predeclared output `ctx.outputs.executable` but it is recommended to pass another file (either predeclared or not) explicitly. |

## data\_runfiles

```
runfiles DefaultInfo.data_runfiles
```

runfiles descriptor describing the files that this target needs when run in the condition that it is a `data` dependency attribute. Under most circumstances, use the `default_runfiles` parameter instead. See ["runfiles features to avoid"](https://bazel.build/extending/rules#runfiles_features_to_avoid) for details.
May return `None`.

## default\_runfiles

```
runfiles DefaultInfo.default_runfiles
```

runfiles descriptor describing the files that this target needs when run (via the `run` command or as a tool dependency).
May return `None`.

## files

```
depset DefaultInfo.files
```

A [`depset`](../builtins/depset) of [`File`](../builtins/File) objects representing the default outputs to build when this target is specified on the bazel command line. By default it is all predeclared outputs.
May return `None`.

## files\_to\_run

```
FilesToRunProvider DefaultInfo.files_to_run
```

A [`FilesToRunProvider`](../providers/FilesToRunProvider) object containing information about the executable and runfiles of the target.
May return `None`.
