<!-- Generated with Stardoc: http://skydoc.bazel.build -->

<a name="#my_aspect_impl"></a>

## my_aspect_impl

<pre>
my_aspect_impl(<a href="#my_aspect_impl-ctx">ctx</a>)
</pre>



### Parameters

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="my_aspect_impl-ctx">
      <td><code>ctx</code></td>
      <td>
        required.
      </td>
    </tr>
  </tbody>
</table>


<a name="#my_aspect"></a>

## my_aspect

<pre>
my_aspect(<a href="#my_aspect-name">name</a>, <a href="#my_aspect-first">first</a>, <a href="#my_aspect-second">second</a>)
</pre>

This is my aspect. It does stuff.

### Aspect Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="my_aspect-deps">
      <td><code>deps</code></td>
      <td>
        String; required.
    <tr id="my_aspect-attr_aspect">
      <td><code>attr_aspect</code></td>
      <td>
        String; required.
      </td>
    </tr>
  </tbody>
</table>

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="my_aspect-name">
      <td><code>name</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels#target-names">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
    <tr id="my_aspect-first">
      <td><code>first</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">Label</a>; required
      </td>
    </tr>
    <tr id="my_aspect-second">
      <td><code>second</code></td>
      <td>
        <a href="https://bazel.build/rules/lib/dict">Dictionary: String -> String</a>; required
      </td>
    </tr>
  </tbody>
</table>


<a name="#other_aspect"></a>

## other_aspect

<pre>
other_aspect(<a href="#other_aspect-name">name</a>, <a href="#other_aspect-third">third</a>)
</pre>

This is another aspect.

### Aspect Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="other_aspect-*">
      <td><code>*</code></td>
      <td>
        String; required.
      </td>
    </tr>
  </tbody>
</table>

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="other_aspect-name">
      <td><code>name</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels#target-names">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
    <tr id="other_aspect-third">
      <td><code>third</code></td>
      <td>
        Integer; required
      </td>
    </tr>
  </tbody>
</table>


