blob: c760e2d54d70f1d05e28c9f3b4f25f853207e435 [file] [log] [blame]
---
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).