{namespace buck.buildtargetpattern}

/***/
{template .soyweb}
  {call buck.page}
    {param title: 'Build Target Pattern' /}
    {param description}
      A string that describes a set of one or more build targets.
    {/param}
    {param content}

A <em>build target pattern</em> is a string that describes a set of one or
more build targets to match. These are used in the list of strings passed
to the <code>visibility</code> argument of a build rule.
<p>
A build target is also a valid build target pattern that matches the
build target of same name:

{literal}<pre>
# Matches '//apps/myapp:app'.
'//apps/myapp:app'
{/literal}</pre>

<p>
A build target pattern that ends with a colon matches build targets that
identify other rules in the same directory:

{literal}<pre>
# Matches '//apps/myapp:app_debug' and '//apps/myapp:app_release'.
'//apps/myapp:'
{/literal}</pre>

<p>
A build target pattern that ends with <code>/...</code> matches any build target
that identifies a rule in a build file in or under that directory:

{literal}<pre>
# Matches '//apps:common' and '//apps/myapp:app'.
'//apps/...'
{/literal}</pre>

    {/param}
  {/call}
{/template}
