Glossary

common attributes

Every rule has a set of common attributes. See Bazel’s Common attributes for a complete listing

rule callable

A function that behaves like a rule. This includes, but is not is not limited to:

  • Accepts a name arg and other common attributes.

  • Has no return value (i.e. returns None).

  • Creates at least a target named name

There is usually an implicit interface about what attributes and values are accepted; refer to the respective API accepting this type.

simple label

A str or Label object but not a direct select object. These usually mean a string manipulation is occuring, which can’t be done on select objects. Such attributes are usually still configurable if an alias is used, and a reference to the alias is passed instead.

nonconfigurable

A nonconfigurable value cannot use select. See Bazel’s configurable attributes documentation.