{namespace buck.buildtargetpattern}

/***/
{template .soyweb}
  {call buck.page}
    {param title: 'Build Target Pattern' /}
    {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 that ends with <code>/...</code> matches any build target
pattern 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}
