blob: 057b1f2f2473f1f5eec0cc8a4e7262eb1fd7f207 [file]
<html devsite>
<head>
<meta name="project_path" value="/_project.yaml">
<meta name="book_path" value="/versions/8.1.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.1.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 %} -->