| --- | |
| title: '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/versions/9.2.0/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 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/versions/9.2.0/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/versions/9.2.0/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 {#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/9.2.0/extending/rules#runfiles_features_to_avoid) for details. | |
| May return `None`. | |
| ## default_runfiles {#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 {#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 {#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`. |