# ToolchainManagement

@Incubating
interface ToolchainManagement : ExtensionAware(source)

Configures how toolchains are resolved.

`ToolchainManagement` is extended by plugins to support different ecosystems.

One option available at present is using the `jvm-toolchain-management` plugin, which adds a `jvm` block to it, allowing for the configuration of toolchains used in the JVM ecosystem.

#### Since

7.6

## Properties

extra
Link copied to clipboard
val ExtensionAware. extra: ExtraPropertiesExtension

The extra properties extension in this object's extension container.

jvm
Link copied to clipboard
@get: Incubating
val ToolchainManagement. jvm: JvmToolchainManagement

Provides statically defined accessors for getting the "jvm" block of "toolchainManagement". The "jvm-toolchain-management" plugin needs to be applied in order for these extensions to work.

## Functions

configure
Link copied to clipboard
inline fun <T : Any> ExtensionAware. configure(noinline configuration: T.() -> Unit)

Executes the given configuration block against the extension of the specified type.

getExtensions
Link copied to clipboard
@Internal
abstract fun getExtensions(): ExtensionContainer
The container of extensions.
jvm
Link copied to clipboard
@Incubating
fun ToolchainManagement. jvm(block: JvmToolchainManagement.() -> Unit)

Provides statically defined accessors for configuring the "jvm" block in "toolchainManagement". The "jvm-toolchain-management" plugin needs to be applied in order for these extensions to work.

the
Link copied to clipboard
inline fun <T : Any> ExtensionAware. the(): T

Returns the extension of the specified type.

fun <T : Any> ExtensionAware. the(extensionType: KClass<T>): T

Returns the extension of the specified extensionType.