# resolvable

@Incubating
abstract fun resolvable(name: String): NamedDomainObjectProvider<ResolvableConfiguration>

Registers a ResolvableConfiguration with an immutable role. Resolvable configurations are meant to resolve dependency graphs and their artifacts.

This operation is lazy, the returned element is NOT realized. A lazy wrapper is returned, allowing to continue to use it with other lazy APIs.

#### Return

A provider which creates a new resolvable configuration.

#### Since

8.4

#### Parameters

name

The name of the configuration to register.

#### Throws

InvalidUserDataException

If a configuration with the given `name` already exists in this container.

@Incubating
abstract fun resolvable(name: String, action: Action<in ResolvableConfiguration>): NamedDomainObjectProvider<ResolvableConfiguration>

Registers a ResolvableConfiguration via resolvable and then configures it with the provided action.

This operation is lazy, the returned element is NOT realized. A lazy wrapper is returned, allowing to continue to use it with other lazy APIs.

#### Return

A provider which creates a new resolvable configuration.

#### Since

8.4

#### Parameters

name

The name of the configuration to register.

action

The action to apply to the configuration.

#### Throws

InvalidUserDataException

If a configuration with the given `name` already exists in this container.