<p><code>List of <a href="../build-ref.html#labels">labels</a>; optional;
default <a href="${link package.default_visibility}">default_visibility</a> from
<a href="${link package}">package</a> if specified, or //visibility:private
  otherwise.</code></p>

<p>
The <code>visibility</code> attribute on a rule controls whether
the rule can be used by other packages. Rules are always visible to
other rules declared in the same package.
</p>

<p>There are five forms (and one temporary form) a visibility label can take:
<ul>
<li><code>["//visibility:public"]</code>: Anyone can use this rule.</li>
<li><code>["//visibility:private"]</code>: Only rules in this package
can use this rule.  Rules in <code>javatests/foo/bar</code>
can always use rules in <code>java/foo/bar</code>.
</li>
<li><code>["//some/package:__pkg__", "//other/package:__pkg__"]</code>:
Only rules in <code>some/package</code> and <code>other/package</code>
(defined in <code>some/package/BUILD</code> and
<code>other/package/BUILD</code>) have access to this rule. Note that
sub-packages do not have access to the rule; for example,
<code>//some/package/foo:bar</code> or
<code>//other/package/testing:bla</code> wouldn't have access.
<code>__pkg__</code> is a special target and must be used verbatim.
It represents all of the rules in the package.
</li>
<li><code>["//project:__subpackages__", "//other:__subpackages__"]</code>:
Only rules in packages <code>project</code> or <code>other</code> or
in one of their sub-packages have access to this rule. For example,
<code>//project:rule</code>, <code>//project/library:lib</code> or
<code>//other/testing/internal:munge</code> are allowed to depend on
this rule (but not <code>//independent:evil</code>)
</li>
<li><code>["//some/package:my_package_group"]</code>:
A <a href="${link package_group}">package group</a> is
a named set of package names. Package groups can also grant access rights
to entire subtrees, e.g.<code>//myproj/...</code>.
</li>

</ul>
<p>The visibility specifications of

<code>//visibility:public</code> and <code>//visibility:private</code>
can not be combined with any other visibility specifications.
A visibility specification may contain a combination of package labels
(i.e. <code>//foo:__pkg__</code>) and <code>package_group</code>s.</p>
<p>If a rule does specify the visibility attribute, that specification
overrides any
<code><a href="${link package.default_visibility}">default_visibility</a></code>
attribute of the <code><a href="${link package}">package</a></code>
statement in the BUILD file containing the rule.</p>
<p>Otherwise, if a rule does not specify the visibility attribute, the default_visibility
of the package is used (except for
<a href="${link exports_files}">exports_files</a>).</p>
<p>Otherwise, if the default_visibility for the package is not specified,
<code>//visibility:private</code> is used.</p>
<p><b>Example</b>:</p>
<p>
File <code>//frobber/bin/BUILD</code>:
</p>
<pre class="code">
# This rule is visible to everyone
cc_binary(
    name = "executable",
    visibility = ["//visibility:public"],
    deps = [":library"],
)

# This rule is visible only to rules declared in the same package
cc_library(
    name = "library",
    visibility = ["//visibility:private"],
)

# This rule is visible to rules in package //object and //noun
cc_library(
    name = "subject",
    visibility = [
        "//noun:__pkg__",
        "//object:__pkg__",
    ],
)

# See package group "//frobber:friends" (below) for who can
# access this rule.
cc_library(
    name = "thingy",
    visibility = ["//frobber:friends"],
)
</pre>
<p>
File <code>//frobber/BUILD</code>:
</p>
<pre class="code">
# This is the package group declaration to which rule
# //frobber/bin:thingy refers.
#
# Our friends are packages //frobber, //fribber and any
# subpackage of //fribber.
package_group(
    name = "friends",
    packages = [
        "//fribber/...",
        "//frobber",
    ],
)
</pre>
