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

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

## my_rule

<pre>
my_rule(<a href="#my_rule-name">name</a>, <a href="#my_rule-a">a</a>, <a href="#my_rule-b">b</a>, <a href="#my_rule-c">c</a>, <a href="#my_rule-d">d</a>, <a href="#my_rule-e">e</a>, <a href="#my_rule-f">f</a>, <a href="#my_rule-g">g</a>, <a href="#my_rule-h">h</a>, <a href="#my_rule-i">i</a>, <a href="#my_rule-j">j</a>, <a href="#my_rule-k">k</a>, <a href="#my_rule-l">l</a>)
</pre>

This is my rule. It does stuff.

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="my_rule-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_rule-a">
      <td><code>a</code></td>
      <td>
        Boolean; required
        <p>
          Some bool
        </p>
      </td>
    </tr>
    <tr id="my_rule-b">
      <td><code>b</code></td>
      <td>
        Integer; required
        <p>
          Some int
        </p>
      </td>
    </tr>
    <tr id="my_rule-c">
      <td><code>c</code></td>
      <td>
        List of integers; required
        <p>
          Some int_list
        </p>
      </td>
    </tr>
    <tr id="my_rule-d">
      <td><code>d</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">Label</a>; required
        <p>
          Some label
        </p>
      </td>
    </tr>
    <tr id="my_rule-e">
      <td><code>e</code></td>
      <td>
        <a href="https://bazel.build/rules/lib/dict">Dictionary: Label -> String</a>; required
        <p>
          Some label_keyed_string_dict
        </p>
      </td>
    </tr>
    <tr id="my_rule-f">
      <td><code>f</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">List of labels</a>; required
        <p>
          Some label_list
        </p>
      </td>
    </tr>
    <tr id="my_rule-g">
      <td><code>g</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">Label</a>; optional
        <p>
          Some output
        </p>
      </td>
    </tr>
    <tr id="my_rule-h">
      <td><code>h</code></td>
      <td>
        List of labels; optional
        <p>
          Some output_list
        </p>
      </td>
    </tr>
    <tr id="my_rule-i">
      <td><code>i</code></td>
      <td>
        String; required
        <p>
          Some string
        </p>
      </td>
    </tr>
    <tr id="my_rule-j">
      <td><code>j</code></td>
      <td>
        <a href="https://bazel.build/rules/lib/dict">Dictionary: String -> String</a>; required
        <p>
          Some string_dict
        </p>
      </td>
    </tr>
    <tr id="my_rule-k">
      <td><code>k</code></td>
      <td>
        List of strings; required
        <p>
          Some string_list
        </p>
      </td>
    </tr>
    <tr id="my_rule-l">
      <td><code>l</code></td>
      <td>
        <a href="https://bazel.build/rules/lib/dict">Dictionary: String -> List of strings</a>; optional
        <p>
          Some string_list_dict
        </p>
      </td>
    </tr>
  </tbody>
</table>


