Back to Bazel

ToolchainContext

docs/versions/8.4.0/rules/lib/builtins/ToolchainContext.mdx

9.1.01.3 KB
Original Source
<html devsite> <head> <meta name="project_path" value="/_project.yaml"> <meta name="book_path" value="/versions/8.4.0/_book.yaml"> </head> <body> <h1 class="page-title" id="modules.ToolchainContext">ToolchainContext</h1>

{% dynamic setvar source_file "src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/ToolchainContextApi.java" %} {% dynamic setvar version "8.4.0" %} {% dynamic setvar original_path "/rules/lib/builtins/ToolchainContext" %} {% include "_buttons.html" %}

<!-- {% raw %} -->

Holds toolchains available for a particular exec group. Toolchain targets are accessed by indexing with the toolchain type, as in <code>ctx.toolchains["//pkg:my_toolchain_type"]</code>. If the toolchain was optional and no toolchain was resolved, this will return <code>None</code>. Accessing toolchains of an aspect or rule via <code>ctx.toolchains</code> returns the indexed toolchain as a <code>ToolchainInfo</code> provider. While when using aspects, <code>ToolchainContext</code> is also used to hold the toolchains of the base target. It can be accessed by <code>ctx.rule.toolchains["//pkg:my_toolchain_type"]</code> and it returns the list of providers resulted from applying the aspects on these toolchain targets.

</body> </html> <!-- {% endraw %} -->