> ## Documentation Index
> Fetch the complete documentation index at: https://bazel-flags-doc.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

ParameterDescription`files`[depset](../builtins/depset.html); or `None`;
default is `None`

A [`depset`](../builtins/depset.html) of [`File`](../builtins/File.html) 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.html); or `None`;
default is `None`

[`runfiles`](../builtins/runfiles.html) 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.html); 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.html); 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.html); or `None`;
default is `None`

If this rule is marked [`executable`](../globals/bzl.html#rule.executable) or [`test`](../globals/bzl.html#rule.test), this is a [`File`](../builtins/File.html) 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.html) of [`File`](../builtins/File.html) 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.html) object containing information about the executable and runfiles of the target.
May return `None`.
