> ## 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. Each `DefaultInfo` instance has the following fields:

* `files`\* `files_to_run`\* `data_runfiles`\* `default_runfiles`

See the [rules](https://bazel.build/versions/8.4.2/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](/versions/8.4.2/rules/lib/builtins/depset); or `None`; default is `None`  A [`depset`](/versions/8.4.2/rules/lib/builtins/depset) of [`File`](/versions/8.4.2/rules/lib/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](/versions/8.4.2/rules/lib/builtins/runfiles); or `None`; default is `None`  runfiles descriptor describing the files that this target needs when run (via the `run` command or as a tool dependency).                                                                                                                                                                                                                                                                                                                  |
| `data_runfiles`    | [runfiles](/versions/8.4.2/rules/lib/builtins/runfiles); or `None`; default is `None`  **It is recommended that you avoid using this parameter (see ["runfiles features to avoid"](https://bazel.build/versions/8.4.2/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](/versions/8.4.2/rules/lib/builtins/runfiles); or `None`; default is `None`  **It is recommended that you avoid using this parameter (see ["runfiles features to avoid"](https://bazel.build/versions/8.4.2/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](/versions/8.4.2/rules/lib/builtins/File); or `None`; default is `None`  If this rule is marked [`executable`](/versions/8.4.2/rules/lib/globals/bzl#rule.executable) or [`test`](/versions/8.4.2/rules/lib/globals/bzl#rule.test), this is a [`File`](/versions/8.4.2/rules/lib/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/versions/8.4.2/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`](/versions/8.4.2/rules/lib/builtins/depset) of [`File`](/versions/8.4.2/rules/lib/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`](/versions/8.4.2/rules/lib/providers/FilesToRunProvider) object containing information about the executable and runfiles of the target.
May return `None`.
