# Interface ResolvedConfiguration

public interface ResolvedConfiguration
A `ResolvedConfiguration` represents the result of resolving a `Configuration`, and provides access to both the graph and artifacts of the result.

This is a legacy API. Avoid this class for new code. Prefer accessing resolution outputs via `Configuration.getIncoming()`. This API will be deprecated and removed in future Gradle versions.

- This class is not configuration-cache compatible.
- Returned file sets do not track task dependencies.
- The returned types do not reflect the variant-aware nature of the dependency resolution engine.

Since:
  0.7

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Set<ResolvedDependency>`
  `getFirstLevelModuleDependencies()`
  Returns the `ResolvedDependency` instances for each direct dependency of the configuration.
  `LenientConfiguration`
  `getLenientConfiguration()`
  Provides configuration that does not fail eagerly when some dependencies are not resolved.
  `Set<ResolvedArtifact>`
  `getResolvedArtifacts()`
  Returns the set of artifact meta-data for this configuration.
  `boolean`
  `hasError()`
  Returns whether all dependencies were successfully retrieved or not.
  `void`
  `rethrowFailure()`
  When a configuration fails to resolve, it does not automatically throw an exception.

- ## Method Details

  - ### hasError

    boolean hasError()
    Returns whether all dependencies were successfully retrieved or not.
    Since:
      0.7

  - ### getLenientConfiguration

    LenientConfiguration getLenientConfiguration()
    Provides configuration that does not fail eagerly when some dependencies are not resolved.
    Since:
      1.0

  - ### rethrowFailure

    void rethrowFailure() throws ResolveException
    When a configuration fails to resolve, it does not automatically throw an exception. Exceptions are only thrown if the result of a resolution is accessed. If this configuration failed to resolve, this method will throw the resolution exception.

    This method does nothing when resolution was successful.

    Throws:
      `ResolveException` - when the resolve was not successful.
    Since:
      0.7

  - ### getFirstLevelModuleDependencies

    Set<ResolvedDependency> getFirstLevelModuleDependencies() throws ResolveException
    Returns the `ResolvedDependency` instances for each direct dependency of the configuration. Via those you have access to all `ResolvedDependency` instances, including the transitive dependencies of the configuration.

    Prefer `ResolutionResult` for traversing the resolved graph or `ResolvableDependencies.getArtifacts()` for accessing the resolved artifacts.

    Returns:
      A `ResolvedDependency` instance for each direct dependency.
    Throws:
      `ResolveException` - when the resolve was not successful.
    Since:
      0.8

  - ### getResolvedArtifacts

    Set<ResolvedArtifact> getResolvedArtifacts() throws ResolveException
    Returns the set of artifact meta-data for this configuration.

    Prefer `ResolvableDependencies.getArtifacts()`.

    Returns:
      The set of artifacts.
    Throws:
      `ResolveException` - when the resolve was not successful.
    Since:
      0.8