| --- |
| title: 'Target' |
| --- |
| |
| The BUILD target for a dependency. Appears in the fields of `ctx.attr` corresponding to [dependency attributes](https://bazel.build/versions/7.7.1/extending/rules#dependency_attributes) (`label` or `label_list`). Has the following fields: |
| |
| * ### label |
| |
| `Label Target.label` |
| The identifier of the target. |
| * ### files |
| |
| `depset Target.files` |
| The set of `File`s in the default outputs for this target. Equivalent to `target[DefaultInfo].files`. |
| * ### aspect\_ids |
| |
| `list Target.aspect_ids` |
| The list of `aspect_ids` applied to this target. |
| * ### Providers |
| |
| The [providers](https://bazel.build/versions/7.7.1/extending/rules#providers) of a rule target can be accessed by type using index notation (`target[DefaultInfo]`). The presence of providers can be checked using the `in` operator (`SomeInfo in target`). |
| |
| If the rule's implementation function returns a `struct` instead of a list of `Provider` instances, the struct's fields can be accessed via the corresponding fields of the `Target` (`target.some_legacy_info`). This behavior [is deprecated](https://bazel.build/versions/7.7.1/extending/rules#migrating_from_legacy_providers). |