

<!--
Documentation generated by Skydoc
-->
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width initial-scale=1" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <title>toolchains Rules</title>

    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700" type="text/css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    <link rel="stylesheet" href="https://code.getmdl.io/1.1.1/material.green-light_blue.min.css">
    <script defer src="https://code.getmdl.io/1.1.1/material.min.js"></script>
    <link rel="stylesheet" href="https://bazelbuild.github.io/rules_kotlin/main.css">
  </head>
  <body>
    <div class="mdl-layout mdl-js-layout mdl-layout--fixed-drawer
      mdl-layout--fixed-header">
      <header class="mdl-layout__header">
        <div class="mdl-layout__header-row">
          <span class="mdl-layout-title">toolchains Rules</span>
        </div>
      </header>
      <div class="mdl-layout__drawer">
        <span class="mdl-layout-title">Bazel</span>
        <nav class="drawer-nav">
          <ul class="drawer-nav">
            
<li><a href="https://bazelbuild.github.io/rules_kotlin/index.html">Overview</a></li>
<li>
  <a href="https://bazelbuild.github.io/rules_kotlin/kotlin/kotlin.html">Kotlin Rules</a>
  <ul>
    <li><a href="https://bazelbuild.github.io/rules_kotlin/kotlin/kotlin.html#overview">Overview</a></li>
    <li>
      <a href="https://bazelbuild.github.io/rules_kotlin/kotlin/kotlin.html#kt_jvm_binary">
        kt_jvm_binary
      </a>
    </li>
    <li>
      <a href="https://bazelbuild.github.io/rules_kotlin/kotlin/kotlin.html#kt_jvm_import">
        kt_jvm_import
      </a>
    </li>
    <li>
      <a href="https://bazelbuild.github.io/rules_kotlin/kotlin/kotlin.html#kt_jvm_library">
        kt_jvm_library
      </a>
    </li>
    <li>
      <a href="https://bazelbuild.github.io/rules_kotlin/kotlin/kotlin.html#kt_jvm_test">
        kt_jvm_test
      </a>
    </li>
  </ul>
</li>
<li>
  <a href="https://bazelbuild.github.io/rules_kotlin/kotlin/toolchains.html">toolchains Rules</a>
  <ul>
    <li>
      <a href="https://bazelbuild.github.io/rules_kotlin/kotlin/toolchains.html#kt_toolchain">
        kt_toolchain
      </a>
    </li>
  </ul>
</li>

          </ul>
        </nav>
      </div>

      <main class="mdl-layout__content">
        <div class="page-content">
          <h1>toolchains Rules</h1>

<nav class="toc">
  <h2>Rules</h2>
  <ul>
    <li><a href="#kt_toolchain">kt_toolchain</a></li>
  </ul>
  <h2>Macros</h2>
  <ul>
    <li><a href="#define_kt_toolchain">define_kt_toolchain</a></li>
  </ul>
</nav>
          <hr>

          <h2 id="define_kt_toolchain">define_kt_toolchain</h2>

          <pre>define_kt_toolchain(<a href="#define_kt_toolchain.name">name</a>, <a href="#define_kt_toolchain.language_version">language_version</a>, <a href="#define_kt_toolchain.api_version">api_version</a>, <a href="#define_kt_toolchain.jvm_target">jvm_target</a>, <a href="#define_kt_toolchain.coroutines">coroutines</a>)</pre>

          <p>Define a Kotlin JVM Toolchain, the name is used in the <code>toolchain</code> rule so can be used to register the toolchain in the WORKSPACE file.</p>


          <h3 id="define_kt_toolchain_args">Attributes</h3>

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="define_kt_toolchain.name">
      <td><code>name</code></td>
      <td>
        <p><code><a href="https://bazel.build/docs/build-ref.html#name">Name</a>; Required</code></p>
        <p>A unique name for this rule.</p>
      </td>
    </tr>
    <tr id="define_kt_toolchain.language_version">
      <td><code>language_version</code></td>
      <td>
        <p><code>Unknown; Optional</code></p>
        
      </td>
    </tr>
    <tr id="define_kt_toolchain.api_version">
      <td><code>api_version</code></td>
      <td>
        <p><code>Unknown; Optional</code></p>
        
      </td>
    </tr>
    <tr id="define_kt_toolchain.jvm_target">
      <td><code>jvm_target</code></td>
      <td>
        <p><code>Unknown; Optional</code></p>
        
      </td>
    </tr>
    <tr id="define_kt_toolchain.coroutines">
      <td><code>coroutines</code></td>
      <td>
        <p><code>Unknown; Optional</code></p>
        
      </td>
    </tr>
  </tbody>
</table>
          <hr>

          <h2 id="kt_toolchain">kt_toolchain</h2>

          <pre>kt_toolchain(<a href="#kt_toolchain.name">name</a>, <a href="#kt_toolchain.api_version">api_version</a>, <a href="#kt_toolchain.coroutines">coroutines</a>, <a href="#kt_toolchain.jvm_target">jvm_target</a>, <a href="#kt_toolchain.language_version">language_version</a>)</pre>

          <p>The kotlin jvm toolchain</p>


          <h3 id="kt_toolchain_args">Attributes</h3>

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="kt_toolchain.name">
      <td><code>name</code></td>
      <td>
        <p><code><a href="https://bazel.build/docs/build-ref.html#name">Name</a>; Required</code></p>
        <p>A unique name for this rule.</p>
      </td>
    </tr>
    <tr id="kt_toolchain.api_version">
      <td><code>api_version</code></td>
      <td>
        <p><code>String; Optional; Default is '1.2'</code></p>
        <p>the -api_version flag <a href="https://kotlinlang.org/docs/reference/compatibility.html">see</a>.</p>
      </td>
    </tr>
    <tr id="kt_toolchain.coroutines">
      <td><code>coroutines</code></td>
      <td>
        <p><code>String; Optional; Default is 'enable'</code></p>
        <p>the -Xcoroutines flag, enabled by default as it's considered production ready 1.2.0 onward.</p>
      </td>
    </tr>
    <tr id="kt_toolchain.jvm_target">
      <td><code>jvm_target</code></td>
      <td>
        <p><code>String; Optional; Default is '1.8'</code></p>
        <p>the -jvm_target flag.</p>
      </td>
    </tr>
    <tr id="kt_toolchain.language_version">
      <td><code>language_version</code></td>
      <td>
        <p><code>String; Optional; Default is '1.2'</code></p>
        <p>the -languag_version flag <a href="https://kotlinlang.org/docs/reference/compatibility.html">see</a>.</p>
      </td>
    </tr>
  </tbody>
</table>


        </div>

        <footer class="mdl-mini-footer">
          <div class="mdl-mini-footer__left-section">
            <div class="mdl-logo">Bazel</div>
            <ul class="mdl-mini-footer__link-list">
              <li><a href="https://bazel.build">Home</a></li>
              <li><a href="https://github.com/bazelbuild">GitHub</a></li>
            </ul>
          </div>
        </footer>
      </main>
    </div>
  </body>
</html>
