In BUILD files and at the command line, Bazel uses labels to reference
targets - for example, //main:hello-world or //lib:hello-time. Their syntax
is:
//path/to/package:target-name
If the target is a rule target, then path/to/package is the path from the
workspace root (the directory containing the WORKSPACE file) to the directory
containing the BUILD file, and target-name is what you named the target
in the BUILD file (the name attribute). If the target is a file target,
then path/to/package is the path to the root of the package, and
target-name is the name of the target file, including its full
path relative to the root of the package (the directory containing the
package's BUILD file).
When referencing targets at the repository root, the package path is empty,
just use //:target-name. When referencing targets within the same BUILD
file, you can even skip the // workspace root identifier and just use
:target-name.