# Interface ResolvableDependencies

All Superinterfaces:
  `ArtifactView, HasAttributes`

public interface ResolvableDependencies extends ArtifactView
The primary view of the results of resolving a `Configuration`. Results can be obtained in several forms, each catering to different use cases:

- `getFiles()` returns a `FileCollection` that provides the result as a set of `File` instances.
- `getResolutionResult()` returns a `ResolutionResult` that provides information about the dependency graph without downloading artifacts.
- `getArtifacts()` returns an `ArtifactCollection` that provides the files with additional metadata.
- `artifactView(Action)` provides several APIs, which can perform lenient artifact resolution, trigger artifact transforms, or filter artifacts. Furthermore, artifact views can be used to perform variant re-selection, allowing sources and javadoc artifacts to be selected from a graph, among other things.

The dependencies are resolved once only, when the result is first requested. The result is reused and returned for subsequent calls. Once resolved, any mutation to the dependencies will result in an error.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface ArtifactView

  `ArtifactView.ViewConfiguration`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `afterResolve(Closure action)`
  Adds an action to be executed after the dependencies of this set have been resolved.
  `void`
  `afterResolve(Action<? super ResolvableDependencies> action)`
  Adds an action to be executed after the dependencies of this set have been resolved.
  `ArtifactView`
  `artifactView(Action<? super ArtifactView.ViewConfiguration> configAction)`
  Returns a builder that can be used to define and access a filtered view of the resolved artifacts.
  `void`
  `beforeResolve(Closure action)`
  Adds an action to be executed before the dependencies in this set are resolved.
  `void`
  `beforeResolve(Action<? super ResolvableDependencies> action)`
  Adds an action to be executed before the dependencies in this set are resolved.
  `ArtifactCollection`
  `getArtifacts()`
  Returns the resolved artifacts, performing the resolution if required.
  `DependencySet`
  `getDependencies()`
  Returns the set of dependencies which will be resolved.
  `DependencyConstraintSet`
  `getDependencyConstraints()`
  Returns the set of dependency constraints which will be considered during resolution.
  `FileCollection`
  `getFiles()`
  Returns a `FileCollection` which contains the resolved set of files.
  `String`
  `getName()`
  Returns the name of this set.
  `String`
  `getPath()`
  Returns the path of this set.
  `ResolutionResult`
  `getResolutionResult()`
  Returns the resolved dependency graph, performing the resolution lazily.

  ### Methods inherited from interface HasAttributes

  `getAttributes`

- ## Method Details

  - ### getName

    String getName()
    Returns the name of this set.
    Returns:
      The name. Never null.

  - ### getPath

    String getPath()
    Returns the path of this set. This is a unique identifier for this set.
    Returns:
      The path. Never null.

  - ### getFiles

    FileCollection getFiles()
    Returns a `FileCollection` which contains the resolved set of files. The returned value is lazy, so dependency resolution is not performed until the contents of the collection are queried.

    The `FileCollection` carries the task dependencies required to build the files in the result, and when used as a task input the files will be built before the task executes.

    Specified by:
      `getFiles` in interface `ArtifactView`
    Returns:
      The collection. Never null.

  - ### getDependencies

    DependencySet getDependencies()
    Returns the set of dependencies which will be resolved.
    Returns:
      the dependencies. Never null.

  - ### getDependencyConstraints

    DependencyConstraintSet getDependencyConstraints()
    Returns the set of dependency constraints which will be considered during resolution.
    Returns:
      the dependency constraints. Never null.
    Since:
      4.6

  - ### beforeResolve

    void beforeResolve(Action<? super ResolvableDependencies> action)
    Adds an action to be executed before the dependencies in this set are resolved.
    Parameters:
      `action` - The action to execute.

  - ### beforeResolve

    void beforeResolve(@DelegatesTo(ResolvableDependencies.class) Closure action)
    Adds an action to be executed before the dependencies in this set are resolved.
    Parameters:
      `action` - The action to execute.

  - ### afterResolve

    void afterResolve(Action<? super ResolvableDependencies> action)
    Adds an action to be executed after the dependencies of this set have been resolved.
    Parameters:
      `action` - The action to execute.

  - ### afterResolve

    void afterResolve(@DelegatesTo(ResolvableDependencies.class) Closure action)
    Adds an action to be executed after the dependencies of this set have been resolved.
    Parameters:
      `action` - The action to execute.

  - ### getResolutionResult

    ResolutionResult getResolutionResult()
    Returns the resolved dependency graph, performing the resolution lazily.

    The lazy aspect depends on what is done with the returned `ResolutionResult`.

    This will resolve the dependency graph but will not resolve or download the artifacts.

    You should note that when resolution fails, the exceptions are included in the `ResolutionResult` returned from this method. This method will not throw these exceptions.

    Returns:
      the resolution result
    Since:
      1.3

  - ### getArtifacts

    ArtifactCollection getArtifacts() throws ResolveException
    Returns the resolved artifacts, performing the resolution if required. This will resolve and download the files as required.
    Specified by:
      `getArtifacts` in interface `ArtifactView`
    Throws:
      `ResolveException` - On failure to resolve or download any artifact.
    Since:
      3.4

  - ### artifactView

    ArtifactView artifactView(Action<? super ArtifactView.ViewConfiguration> configAction)
    Returns a builder that can be used to define and access a filtered view of the resolved artifacts.
    Returns:
      A view over the artifacts resolved for this set of dependencies.
    Since:
      3.4