# Interface JvmToolchainManagement

@Incubating @ServiceScope(org.gradle.internal.service.scopes.Scope.Build.class) public interface JvmToolchainManagement
Dynamic extension added to `ToolchainManagement` at runtime, by the `jvm-toolchain-management` plugin. Provides a `jvm` block to configure the ordered list of Java toolchain repositories to use for auto-provisioning.

Since:
  7.6

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JavaToolchainRepositoryHandler`
  `getJavaRepositories()`
  Returns the handler for the ordered list of configured `JavaToolchainRepository` implementations.
  `void`
  `javaRepositories(Action<? super JavaToolchainRepositoryHandler> configureAction)`
  `NamedDomainObjectList` based handler for configuring an ordered collection of Java toolchain repositories:

- ## Method Details

  - ### getJavaRepositories

    JavaToolchainRepositoryHandler getJavaRepositories()
    Returns the handler for the ordered list of configured `JavaToolchainRepository` implementations.
    Since:
      7.6

  - ### javaRepositories

    void javaRepositories(Action<? super JavaToolchainRepositoryHandler> configureAction)
    `NamedDomainObjectList` based handler for configuring an ordered collection of Java toolchain repositories:

        toolchainManagement {
            jvm {
                javaRepositories {
                    repository('registry1') {
                        resolverClass = com.example.CustomToolchainRegistry1
                        credentials {
                            username = "user"
                            password = "password"
                        }
                        authentication {
                            digest(BasicAuthentication)
                        }
                    }
                    repository('registry2') {
                        resolverClass = com.example.CustomToolchainRegistry2
                    }
                }
            }

    Since:
      7.6